Giờ là lúc bạn học một kỹ năng không thể thiếu trong lập trình thực tế: làm việc với file. Dữ liệu bạn xử lý không phải lúc nào cũng gõ tay, mà thường đến từ file văn bản, dữ liệu người dùng, log hệ thống, hay kết quả xử lý cần lưu lại.
Lập trình không chỉ xử lý, mà còn lưu giữ
Khi viết phần mềm thực tế, bạn cần:
- Đọc dữ liệu cấu hình từ file
- Lưu kết quả phân tích vào file
- Xử lý file người dùng upload
- Ghi log, nhật ký hoạt động chương trình
Python cung cấp cách đơn giản nhưng rất mạnh mẽ để đọc và ghi file, chủ yếu thông qua hàm open()
.
Mục tiêu bài học
- Biết cách mở file để đọc (
r
), ghi (w
), thêm (a
) - Biết cách đọc toàn bộ nội dung hoặc từng dòng
- Ghi nội dung vào file mới
- Dùng
with
để quản lý file an toàn - Xử lý lỗi khi đọc/ghi file
1. Mở file với open()
Cú pháp cơ bản:
f = open("ten_file.txt", "r") # chế độ đọc
Chế độ | Mô tả |
---|---|
"r" | Đọc file |
"w" | Ghi file (xóa nếu có sẵn) |
"a" | Ghi thêm vào cuối file |
"r+" | Đọc & ghi |
2. Đọc nội dung file
a. Đọc toàn bộ
f = open("data.txt", "r")
noidung = f.read()
print(noidung)
f.close()
b. Đọc từng dòng
f = open("data.txt", "r")
for dong in f:
print(dong.strip())
f.close()
c. Dùng with
để tự đóng file
with open("data.txt", "r") as f:
lines = f.readlines()
for line in lines:
print(line.strip())
Ưu điểm: Không cần gọi
f.close()
, tránh quên đóng file gây lỗi
3. Ghi vào file
a. Ghi mới (ghi đè):
with open("output.txt", "w") as f:
f.write("Xin chào\n")
f.write("Học Python thú vị lắm!")
Nếu
output.txt
đã có, nội dung sẽ bị xóa và ghi lại từ đầu
b. Ghi thêm (append):
with open("output.txt", "a") as f:
f.write("\nDòng mới được thêm vào!")
4. Một số ví dụ thực tế
a. Đếm số dòng trong file
with open("data.txt", "r") as f:
so_dong = len(f.readlines())
print("Tổng số dòng:", so_dong)
b. Tìm dòng chứa từ khóa "python"
with open("data.txt", "r") as f:
for line in f:
if "python" in line.lower():
print("👉", line.strip())
c. Ghi danh sách số vào file
with open("so.txt", "w") as f:
for i in range(1, 6):
f.write(str(i) + "\n")
5. Xử lý lỗi với try – except
try:
with open("khong_ton_tai.txt", "r") as f:
print(f.read())
except FileNotFoundError:
print("File không tồn tại.")
6. Bài tập luyện tập
Bài 1: Tạo file ten.txt
, ghi tên của bạn 5 lần vào file
Bài 2: Đọc file doan_van.txt
, đếm số từ và số dòng
Bài 3: Đọc file, chuyển toàn bộ sang chữ hoa và ghi sang file mới output_hoa.txt
Bài 4: Nhập tên học sinh và điểm từ bàn phím, ghi vào file diem.txt
theo định dạng:
An - 9.0
Bình - 8.5
Bài 5: Viết chương trình lưu lại nhật ký người dùng mỗi lần chạy chương trình (ghi thời gian vào file log.txt
)
Kết luận
Làm việc với file là kỹ năng nền tảng trong mọi ứng dụng: từ chatbot, xử lý văn bản, phân tích dữ liệu, đến web server. Python cung cấp cách làm rất gọn, rõ ràng, và cực kỳ dễ mở rộng.
Bài tiếp theo: Bài 17 – Try–Except: Bắt lỗi và xử lý an toàn
Bạn sẽ học cách giúp chương trình không bị crash khi gặp lỗi, mà thông báo hợp lý, xử lý dự phòng, ghi log – rất quan trọng khi làm phần mềm cho người thật dùng.
Thảo luận