Mở (open) và đọc (read) tập tin (file) với Python

Đây là bài 39/54 bài của series môn học Ngôn ngữ lập trình Python

1. Xử lý khi mở (open) file trong Python

Khi thao tác với file thì chúng ta phải trải qua 3 bước:

  1. Mở (open) file
  2. Đọc (read) hoặc ghi (write) một file
  3. Đóng (close) file

Trong đó, việc đầu tiên cần làm là mở (open) file. Python xây dựng sẵn hàm open() để giúp chúng ta mở file với các chế độ khác nhau. Có 4 chế độ (mode) khi mở file trong Python là:

  • r“: Chế độ đọc file, là chế độ mặc định khi mở file. Ở chế độ này, chúng ta mở file để đọc và sẽ gặp lỗi nếu mở một file không tồn tại.
  • a“: Chế độ nối (append) file. Mở file để ghi thêm dữ liệu vào file, tạo file nếu file không tồn tại.
  • w“: Chế độ ghi (write) file. Mở file để ghi đè (overwrite) dữ liệu vào file, tạo file nếu file không tồn tại.
  • x“: Chế độ tạo (create) file. Tạo một file cụ thể, trả về lỗi nếu file đó đã tồn tại.

Ngoài ra, chúng ta có thể chỉ rõ file được xử lý ở chế độ nhị phân (binary) hoặc chế độ văn bản (text):

  • t“: Chế độ text, là chế độ mặc định.
  • b“: Chế độ binary.

Ví dụ, mở một file gochocit.txt ở chế độ mặc định.

f = open("gochocit.txt")

Câu lệnh mở file ở trên tương đương với:

f = open("gochocit.txt", "rt")

Bởi vì “r” và “t” là các giá trị mặc định nên chúng ta không cần phải chỉ rõ chúng.

Khi mở file ở chế độ văn bản (text), nên chỉ định bộ mã hóa các ký tự trong file để tránh gặp các lỗi về mã hóa ký tự. Bộ mã hóa ký tự utf-8 là một trong những bộ mã hóa ký tự được sử dụng phổ biến nhất.

f = open("gochocit.txt", "r", encoding="utf-8")

2. Đọc (read) file trong Python

Giả sử, chúng ta có file gochocit.txt nằm cùng thư mục với file code .py của Python với nội dung như sau:

Hello all, welcome to gochocit.com!

Very happy to see you visit gochocit.com.

Hope it might be useful for you!

Khi sử dụng hàm open() để mở file, hàm open() sẽ trả về một đối tượng file. Đối tượng này có hàm read() để đọc (read) dữ liệu trong file đó.

f = open("gochocit.txt")
print(f.read())
Kết quả
Hello all, welcome to gochocit.com!
Very happy to see you visit gochocit.com.
Hope it might be useful for you!

Nếu file gochocit.txt nằm ở một thư mục khác, chúng ta cần cung cấp đường dẫn chính xác của file này khi mở file.

f = open("C:\python-examples\gochocit.txt")
print(f.read())

Hàm read() giúp đọc tất cả dữ liệu trong file. Nhưng chúng ta có thể xác định số ký tự cần đọc bằng cách truyền đối số cho hàm read().

f = open("gochocit.txt")
print(f.read(10))
Kết quả
Hello all,

Nếu muốn đọc từng dòng trong file thì Python có hỗ trợ hàm readline(). Ví dụ bên dưới là đọc 2 dòng của file gochocit.txt.

f = open("gochocit.txt")
print(f.readline(), end='')
print(f.readline(), end='')
Kết quả
Hello all, welcome to gochocit.com!
Very happy to see you visit gochocit.com.

Kế tiếp, sử dụng vòng lặp for là cách thường dùng để đọc từng dòng trong file cho đến khi kết thúc file.

f = open("gochocit.txt")
for x in f:
  print(x, end='')
Kết quả
Hello all, welcome to gochocit.com!
Very happy to see you visit gochocit.com.
Hope it might be useful for you!

3. Đóng (close) file trong Python

Khi đọc/ghi file xong, chúng ta nên đóng file với hàm close().

f = open("gochocit.txt")
print(f.readline())
f.close()

Việc đóng file là đặc biệt cần thiết khi file được sử dụng để đọc/ghi dữ liệu thường xuyên bởi các chương trình khác nhau.

5/5 - (1 bình chọn)
Bài trước và bài sau trong môn học<< User-Defined Exception trong PythonGhi (write), tạo (create) và xóa (delete) tập tin (file) với Python >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.