Trong Python, có một số cách bạn có thể đọc tệp văn bản.
Trong bài viết này, tôi sẽ đi qua open()
chức năng, các read()
, readline()
, readlines()
, close()
các phương pháp và with
từ khóa.
Hàm open() trong Python là gì?
Nếu bạn muốn đọc một tệp văn bản bằng Python, trước tiên bạn phải mở nó.
Đây là cú pháp cơ bản cho Python open()
chức năng:
open("name of file you want opened", "optional mode")
Tên tệp và đường dẫn chính xác
Nếu tệp văn bản và tệp hiện tại của bạn nằm trong cùng một thư mục (“thư mục”), thì bạn chỉ cần tham chiếu tên tệp trong open()
chức năng.
open("demo.txt")
Đây là một ví dụ về cả hai tệp nằm trong cùng một thư mục:

Nếu tệp văn bản của bạn nằm trong một thư mục khác, thì bạn sẽ cần tham chiếu tên đường dẫn chính xác cho tệp văn bản.
Trong ví dụ này, các random-text
tập tin nằm trong một thư mục khác sau đó main.py
:

Để truy cập tệp đó trong main.py
bạn phải bao gồm tên thư mục với tên của tệp.
open("text-files/random-text.txt")
Nếu bạn không có đường dẫn chính xác cho tệp, thì bạn sẽ nhận được thông báo lỗi như sau:
open("random-text.txt")

Điều thực sự quan trọng là phải theo dõi thư mục bạn đang ở để bạn có thể tham khảo tên đường dẫn chính xác.
Tham số Chế độ tùy chọn trong open()
Có nhiều chế độ khác nhau khi bạn đang làm việc với các tệp. Chế độ mặc định là chế độ đọc.
Lá thư r
là viết tắt của chế độ đọc.
open("demo.txt", mode="r")
Bạn cũng có thể bỏ qua mode=
và chỉ cần viết "r"
.
open("demo.txt", "r")
Ngoài ra còn có các loại chế độ khác như "w"
để viết hoặc "a"
để nối thêm. Tôi sẽ không đi vào chi tiết các chế độ khác vì chúng ta sẽ chỉ tập trung vào việc đọc tệp.
Để biết danh sách đầy đủ các chế độ khác, vui lòng đọc qua tài liệu.
Các thông số bổ sung cho open()
chức năng trong Python
Các open()
chức năng có thể nhận các tham số tùy chọn này.
- đệm
- mã hóa
- lỗi
- dòng mới
- đóng cửa
- cái mở
Để tìm hiểu thêm về các tham số tùy chọn này, vui lòng đọc qua tài liệu.
Phương thức readable() trong Python là gì?
Nếu bạn muốn kiểm tra xem một tệp có thể được đọc hay không, thì bạn có thể sử dụng readable()
phương pháp. Điều này sẽ trả lại một True
hoặc False
.
Ví dụ này sẽ trở lại True
bởi vì chúng tôi đang ở chế độ đọc:
file = open("demo.txt")
print(file.readable())

Nếu tôi thay đổi ví dụ này, để "w"
(viết), sau đó là chế độ readable()
phương pháp sẽ trở lại False
:
file = open("demo.txt", "w")
print(file.readable())

Phương thức read() trong Python là gì?
Các read()
sẽ đọc tất cả nội dung của tệp dưới dạng một chuỗi. Đây là một phương pháp tốt để sử dụng nếu bạn không có nhiều nội dung trong tệp văn bản.
Trong ví dụ này, tôi đang sử dụng read()
phương pháp để in ra một danh sách các tên từ demo.txt
tập tin:
file = open("demo.txt")
print(file.read())

Phương thức này có thể nhận một tham số tùy chọn được gọi là kích thước. Thay vì đọc toàn bộ tệp, chỉ một phần của tệp sẽ được đọc.
Nếu chúng tôi sửa đổi ví dụ trước đó, chúng tôi chỉ có thể in ra từ đầu tiên bằng cách thêm số 4 làm đối số cho read()
.
file = open("demo.txt")
print(file.read(4))

Nếu đối số kích thước bị bỏ qua hoặc nếu số này là số âm thì toàn bộ tệp sẽ được đọc.
Phương thức close() trong Python là gì?
Khi bạn đã đọc xong một tệp, điều quan trọng là bạn phải đóng tệp đó. Nếu bạn quên đóng tệp của mình, điều đó có thể gây ra sự cố.
Đây là một ví dụ về cách đóng demo.txt
tập tin:
file = open("demo.txt")
print(file.read())
file.close()
Làm thế nào để sử dụng with
từ khóa để đóng tệp trong Python
Một cách để đảm bảo rằng tệp của bạn đã được đóng là sử dụng with
từ khóa. Đây được coi là phương pháp hay vì tệp sẽ tự động đóng thay vì bạn phải đóng tệp theo cách thủ công.
Đây là cách viết lại ví dụ của chúng ta bằng cách sử dụng with
từ khóa:
with open("demo.txt") as file:
print(file.read())
Phương thức readline() trong Python là gì?
Phương thức này sẽ đọc một dòng từ tệp và trả về dòng đó.
Trong ví dụ này, chúng tôi có một tệp văn bản với hai câu sau:
This is the first line
This is the second line
Nếu chúng ta sử dụng readline()
phương thức, nó sẽ chỉ in câu đầu tiên của tệp.
with open("demo.txt") as file:
print(file.readline())

Phương thức này cũng nhận tham số kích thước tùy chọn. Ta có thể sửa ví dụ thêm số 7 để chỉ đọc và in ra This is
:
with open("demo.txt") as file:
print(file.readline(7))

Phương thức readlines() trong Python là gì?
Phương thức này sẽ đọc và trả về danh sách tất cả các dòng trong tệp.
Trong ví dụ này, chúng tôi sẽ in ra các mặt hàng tạp hóa dưới dạng danh sách bằng cách sử dụng readlines()
phương pháp.
with open("demo.txt") as file:
print(file.readlines())

Cách sử dụng vòng lặp for để đọc các dòng từ tệp trong Python
Một giải pháp thay thế cho các phương pháp đọc khác nhau này là sử dụng một for loop
.
Trong ví dụ này, chúng ta có thể in ra tất cả các mục trong demo.txt
tệp bằng cách lặp qua đối tượng.
with open("demo.txt") as file:
for item in file:
print(item)

Phần kết luận
Nếu bạn muốn đọc một tệp văn bản bằng Python, trước tiên bạn phải mở nó.
open("name of file you want opened", "optional mode")
Nếu tệp văn bản và tệp hiện tại của bạn nằm trong cùng một thư mục (“thư mục”), thì bạn chỉ cần tham chiếu tên tệp trong open()
chức năng.
Nếu tệp văn bản của bạn nằm trong một thư mục khác, thì bạn sẽ cần tham chiếu tên đường dẫn chính xác cho tệp văn bản.
Các open()
chức năng nhận tham số chế độ tùy chọn. Chế độ mặc định là chế độ đọc.
open("demo.txt", "r")
Nếu bạn muốn kiểm tra xem một tệp có thể được đọc hay không, thì bạn có thể sử dụng readable()
phương pháp. Điều này sẽ trả lại một True
hoặc False
.
file.readable()
Các read()
sẽ đọc tất cả nội dung của tệp dưới dạng một chuỗi.
file.read()
Khi bạn đã đọc xong một tệp, điều quan trọng là bạn phải đóng tệp đó. Nếu bạn quên đóng tệp của mình, điều đó có thể gây ra sự cố.
file.close()
Một cách để đảm bảo rằng tệp của bạn đã được đóng là sử dụng with
từ khóa.
with open("demo.txt") as file:
print(file.read())
Các readline()
phương thức sẽ đọc một dòng từ tệp và trả về dòng đó.
file.readline()
Các readlines()
phương thức sẽ đọc và trả về danh sách tất cả các dòng trong tệp.
file.readlines()
Một giải pháp thay thế cho các phương pháp đọc khác nhau này là sử dụng một for loop
.
with open("demo.txt") as file:
for item in file:
print(item)
Tôi hy vọng bạn thích bài viết này và chúc may mắn trên hành trình Python của bạn.