Hàm open() mở file. Bạn phải dùng chế độ "r" để đọc file. Các hàm read(), readline(), readlines() trả về nội dung file đã mở.
Python là ngôn ngữ lập trình hữu ích nếu bạn muốn xử lý dữ liệu. Ngôn ngữ có vài hàm tích hợp giúp dễ dàng đọc, ghi, và thao tác dữ liệu hoặc file.
Giả sử bạn có danh sách tên nhân viên, và muốn kiểm tra tên người dùng có trong danh sách không. Bạn có thể lưu danh sách tên như file. Sau đó, dùng Python đọc file và kiểm tra tên nhân viên có lưu trong file không.
Trong hướng dẫn này, khám phá cơ bản đọc file trong Python. Đầu tiên, thảo luận cách mở và truy cập file. Sau đó, khám phá cách đọc file trong Python.
Mở file để đọc trong Python
Bước đầu đọc file trong Python là mở file bạn muốn đọc. Bạn cần báo cho Python tên file muốn mở.
Để đọc file, trước tiên báo cho Python file nằm đâu. Làm được bằng cách chỉ định đường dẫn file và khai báo trong biến.
Cú pháp mở file trong Python:
filename = "/users/career_karma/names.txt" names_file = open(filename, 'r')
Mã mở file tại đường dẫn định nghĩa trong biến "filename".
Cờ r cuối hàm open() báo Python chúng ta chỉ muốn đọc file. Chúng ta có thể đổi cờ này nếu muốn chỉnh sửa file.
Python Đọc File
Bây giờ file đã mở, chúng ta đọc qua Python. Có ba hàm đọc dữ liệu từ file:
- read(): Trả về nội dung file
- readline(): Trả về dòng tiếp theo của file
- readlines(): Trả về danh sách các dòng trong file
Phân tích cách mỗi hàm hoạt động. Phương thức read() trả về toàn bộ nội dung file như chuỗi.
Python Đọc File Văn Bản (Text File)
Ví dụ read() hoạt động trên file văn bản chứa danh sách tên:
path = "/users/career_karma/names.txt" names_file = open(path, 'r') print(names_file.read())
Chương trình trả về:
"Sally\nAlex\nPamela\nJonas\nLuke\nWill\n"
Phương thức read() trả về mọi thứ trong file names, bao gồm ký tự xuống dòng cuối chuỗi.
Hàm readline() trả về dòng tiếp theo file. readline() trả về văn bản và ký tự xuống dòng cuối file. Mã sau đọc dòng đầu file:
print(names_file.readline())
Mã trả về:
"Sally\n"
Nếu muốn đọc dòng đầu và thứ hai file hiện có, cần dùng readline() lại:
names_file = open(path, 'r') print(names_file.readline()) print(names_file.readline())
Mã trả về:
"Sally\n" "Alex\n"
Python Đọc File Dòng Theo Dòng (Line-by-Line)
Hàm readline() hữu ích nếu muốn đọc file dòng theo dòng. Hàm thường dùng trong vòng lặp for đọc nhiều dòng, như sau:
for i in range(0, 2):
print(names_file.readline())
Mã trả về:
"Sally\n" "Alex\n"
Cuối cùng, phương thức readlines() trả về danh sách các dòng trong file. Hàm trả về mảng, mỗi mục đại diện một dòng trong file:
print(names_file.readlines())
Chương trình trả về:
['Sally\n', 'Alex\n', 'Pamela\n', 'Jonas\n', 'Luke\n', 'Will']
Một lần đã đọc file, bạn không thể đọc lại. Vì vậy, khi đọc file dùng readlines(), thử đọc lại bằng bất kỳ thao tác đọc nào sẽ trả về chuỗi rỗng. Nếu muốn đọc file nhiều lần, cần mở file lại và đọc.
Kết luận
Bạn có thể dùng read(), readline(), và readlines() đọc các phần cụ thể của file. Sau đó, thao tác dữ liệu tùy nhu cầu. Hôm nay, chúng ta bao quát cách mở file, đọc dùng phương thức cụ thể, và đóng file trong Python.
Bây giờ bạn đã sẵn sàng mở và đọc file Python như chuyên gia! Để học thêm Python, đọc hướng dẫn How to Code in Python.