Đọc File trong Python – Lập Trình Từ Đầu

1. Đọc File trong Python

Python phân phối những hàm có sẵn để đọc một tệp tin vào chương trình. Có hai loại tệp hoàn toàn có thể được đọc vào trong chương trình Python, đó là : tệp văn bản và tệp nhị phân .

  • Tệp văn bản: Trong loại tệp này, mỗi dòng văn bản được kết thúc bằng một ký tự đặc biệt gọi là EOL (End of Line), là ký tự dòng mới (‘\ n’) trong Python
  • Tệp nhị phân: Trong loại tệp này, không có dấu kết thúc cho một dòng và dữ liệu được lưu trữ được chuyển đổi thành mã nhị phân

Python cung cấp cho chúng ta hàm read() để sử dụng trong việc đọc dữ liệu có trong một File. Nhưng trước khi sử dụng được hàm read() để đọc dữ liệu của File, hãy đảm bảo rằng bạn đã mở File trong chương trình Python bằng cách sử dụng hàm open() trong Python.

Ví dụ đơn giản dưới đây, sử dụng hàm open() để mở một File văn bản có phần mở rộng .txt và sử dụng hàm read() để đọc dữ liệu trong File.

File văn bản này sẽ có tên là laptrinhtudau.txt và đường dẫn là “D:\laptrinhtudau.txt” trong File này sẽ có nội dung như bên dưới:

Dưới đây là chương trình, sử dụng hàm open() với chế độ “r” (chế độ chỉ đọc) sau đó sử dụng hàm read() để đọc dữ liệu có trong File laptrinhtudau.txt

# Mo File voi che do "r"
f = open("D:\laptrinhtudau.txt", "r")

# Doc du lieu co trong File va hien thi
print(f.read())

# Dong File
f.close()

Nếu như File cần đọc được đặt cùng thư mục với file Python đang chứa  chương trình được thực thi, khi đó ta chỉ cần sử dụng đường dẫn laptrinhtudau.txt trong hàm open()

# Mo File voi che do "r"
f = open("laptrinhtudau.txt", "r")

# Doc du lieu co trong File va hien thi
print(f.read())

# Dong File
f.close()

Kết quả :

Xin chao, toi la laptrinhtudau.com!

2. Đọc từng dòng của File trong Python

Trong một File có thể có nhiều hơn 1 dòng dữ liệu. Khi đó, để đọc ra từng dòng có trong File ta cần sử dụng hàm readline() để thực hiện việc này.

Một ví dụ đơn về cách sử dụng hàm readline() để đọc từng dòng dữ liệu có trong File “D:\yeulaptrinh.txt” bên dưới:

 

Chương trình dưới đây, sử dụng hàm readline() để đọc ra dữ liệu của dòng đầu tiên có trong File trên như sau:

# Doc File voi che do "r"
f = open("D:\yeulaptrinh.txt", "r")

# Doc du lieu dong dau tien trong file va hien thi
print(f.readline())

# Dong File
f.close()

Kết quả :

Xin chao

Để đọc hai dòng đầu tiên có trong File trên, khi đó ta chỉ cần gọi hai lần hàm readline() như sau:

# Doc File voi che do "r"
f = open("D:\yeulaptrinh.txt", "r")

# Doc du lieu dong dau tien va dong thu 2 trong file va hien thi
print(f.readline())
print(f.readline())

# Dong File
f.close()

Kết quả :

Xin chao
toi la Nam

Trong trường hợp bạn cần đọc toàn bộ những dòng có trong File trên, khi đó ta chỉ cần sử dụng vòng lặp for và duyệt qua File đó như sau :

# Doc File voi che do "r"
f = open("D:\yeulaptrinh.txt", "r")

# Doc tat ca cac dong trong File
for x in f:
    print(x)

# Dong File
f.close()

Kết quả :

Xin chao
toi la Nam
nam nay toi 20 tuoi
toi yeu lap trinh!

3. Đọc ký tự của File trong Python

Theo mặc định, hàm read() khi được gọi nó sẽ trả về toàn bộ dữ liệu có trong File, nhưng bạn cũng có thể chỉ định số lượng ký tự muốn trả về.

Ví dụ ta chỉ cần đọc và hiển thị ra 8 ký tự đầu tiên trong File “D:\laptrinhtudau.txt”, khi đó ta sẽ cần sử dụng hàm read() như sau:

# Mo File voi che do "r"
f = open("D:\laptrinhtudau.txt", "r")

# Doc 8 ky tu dau tien trong File va hien thi
print(f.read(8))

# Dong File
f.close()

Kết quả :

Xin chao

Khi truyền vào hàm read() một số âm (ví dụ là -1) hoặc truyền vào một số quá lớn, khi đó hàm read() sẽ thực hiện đọc tất cả các ký tự trong File đó.

# Mo File voi che do "r"
f = open("D:\laptrinhtudau.txt", "r")

# Doc 1000 ky tu dau tien trong File
print(f.read(1000))
# print(f.read(-1))

# Dong File
f.close()

Kết quả :

Xin chao, toi la laptrinhtudau.com!