Đăng nhập

Bài 16: Đọc ghi file .txt trong Python

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

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.