Trong hướng dẫn này, bạn tìm hiểu cách đọc tệp một cách an toàn trong Python. Ngoài ra, bạn sẽ thấy một loạt các phương pháp đọc tệp hữu ích, bao gồm
- mở ra[]
- đọc[]
- dòng đọc []
- đường đọc []
Tệp trong góc nhìn của máy tính là gì?
Trước khi đọc một tệp, bạn cần tìm hiểu sâu hơn về thế giới tệp
Điều này là do bạn muốn biết chương trình máy tính nhìn thấy gì khi xử lý tệp
Điều này giúp bạn hiểu và xây dựng logic đọc tệp dễ dàng hơn
Về cơ bản, một tệp là một tập hợp các byte được sử dụng để lưu trữ dữ liệu. Dữ liệu byte này được tổ chức theo một định dạng đặc biệt để tạo thành một tệp. Tệp có thể đơn giản như tệp văn bản hoặc phức tạp hơn như tệp chương trình thực thi
Cho dù bạn có loại tệp nào, cuối cùng, nó được chuyển đổi thành 0 và 1 để máy tính hiểu
Một tập tin bao gồm ba phần chính
- tiêu đề. Tiêu đề bao gồm siêu dữ liệu về tệp, chẳng hạn như tên, kích thước, loại, v.v.
- Dữ liệu. Nội dung của tập tin
- Cuối Tệp [EOF]. Một ký tự ẩn đặc biệt làm nổi bật phần cuối của tệp
Trong hướng dẫn này, chúng tôi sẽ chỉ làm việc với. tập tin txt. Tuy nhiên, hãy nhớ rằng có hàng nghìn phần mở rộng tệp khác nhau
Đường dẫn tệp
Bất cứ khi nào bạn cố gắng truy cập một tệp trên hệ thống của mình, bạn cần chỉ định đường dẫn đến tệp
Như vậy, nếu chỉ gọi tệp bằng tên của nó thì chưa đủ
Đường dẫn tệp không là gì ngoài một chuỗi trỏ đến vị trí của tệp
Đường dẫn tệp có thể được chia thành ba phần
- Đường dẫn thư mục. Vị trí của thư mục trong hệ thống tệp. Các thư mục tiếp theo được phân tách bằng dấu gạch chéo ngược [/] hoặc dấu gạch chéo xuôi [\] tùy thuộc vào hệ thống của bạn
- tên tệp. tên của tập tin
- Sự mở rộng. Cuối tệp có dấu “. ", Như là. txt hoặc. jpeg. Điều này xác định loại tệp trong câu hỏi
Một ví dụ về đường dẫn tệp có thể giống như
Desktop/Projects/FileReader/example.py
Khi bạn viết chương trình Python để đọc tệp, bạn cần biết đường dẫn của tệp. Sau đó, bạn cần làm cho chương trình đọc nội dung của tệp cho đến khi đạt đến ký tự EOF
Điều này nghe có vẻ phức tạp hơn thực tế
Python thực hiện rất nhiều tự động hóa đằng sau hậu trường cho bạn. Điều này giúp bạn có thể đọc toàn bộ tệp có 2 dòng mã, như bạn sẽ thấy
Hãy bắt đầu đọc các tệp Python
Đọc tệp văn bản trong Python
Một trong những tác vụ phổ biến nhất trong Python là đọc/ghi vào tệp bên ngoài
Đây có thể là một cái gì đó đơn giản, chẳng hạn như một tệp văn bản. Nhưng một tệp có thể phức tạp hơn, chẳng hạn như nhật ký máy chủ hoặc tệp byte
Để xử lý bất kỳ tệp nào trong số này, bạn cần hiểu cách đọc và ghi tệp bằng Python
Trong hướng dẫn này, chúng tôi sẽ tập trung vào việc đọc các tập tin
Đọc tệp văn bản vào chương trình Python của bạn theo quy trình này
- Mở tệp bằng hàm open[] tích hợp bằng cách chỉ định đường dẫn của tệp vào lệnh gọi
- Đọc văn bản từ tệp bằng một trong các phương pháp này. read[], readline[], readlines[]
- Đóng tệp bằng phương thức close[]. Bạn có thể để Python xử lý đóng tệp tự động bằng cách mở tệp bằng câu lệnh with
1. Cách sử dụng hàm open[] trong Python
Cú pháp cơ bản để gọi hàm open[] là
open[path_to_a_file, mode]
Ở đâu
- path_to_a_file là đường dẫn đến tệp bạn muốn mở. Ví dụ: Máy tính để bàn/Python/ví dụ. txt. Nếu tệp chương trình python của bạn nằm trong cùng thư mục với tệp văn bản, thì đường dẫn chỉ là tên của tệp
- chế độ chỉ định bạn muốn mở tệp ở trạng thái nào. Có nhiều lựa chọn. Nhưng khi bạn muốn đọc một tệp, bạn chỉ cần chế độ 'r'
Hàm open[] trả về một đối tượng tệp có thể lặp lại mà bạn có thể dễ dàng đọc nội dung của tệp
Chẳng hạn, nếu bạn có một tệp có tên là ví dụ. txt trong cùng thư mục với tệp mã của bạn, bạn có thể mở nó bằng cách
file = open["example.txt", "r"]
Bây giờ tệp đã được mở, nhưng chưa được sử dụng theo bất kỳ cách hữu ích nào
Tiếp theo, chúng ta hãy xem cách thực sự đọc tệp đã mở trong Python
2. Phương pháp đọc tệp trong Python
Để đọc một tệp đã mở, hãy tập trung vào ba phương pháp đọc văn bản khác nhau. read[], readline[], và readlines[]
- read[] đọc tất cả văn bản từ một tệp thành một chuỗi và trả về chuỗi
- readline[] đọc từng dòng tệp và trả về mỗi dòng dưới dạng một chuỗi riêng biệt
- readlines[] đọc tệp theo từng dòng và trả về toàn bộ tệp dưới dạng danh sách các chuỗi, trong đó mỗi chuỗi là một dòng từ tệp
Sau này bạn sẽ xem các ví dụ về từng phương pháp này
Chẳng hạn, hãy đọc nội dung của một tệp có tên “ví dụ. txt” thành một biến dưới dạng chuỗi
file = open["example.txt"] contents = file.read[]
Bây giờ biến nội dung có bất cứ thứ gì bên trong tệp dưới dạng một chuỗi dài
3. Luôn đóng tệp trong Python
Trong Python, một tệp đã mở vẫn mở miễn là bạn không đóng nó. Vì vậy, hãy đảm bảo đóng tệp sau khi sử dụng. Điều này có thể được thực hiện với phương thức close[]. Điều này rất quan trọng vì chương trình có thể bị lỗi hoặc tệp có thể bị hỏng nếu để mở
file.close[]
Bạn cũng có thể để Python xử lý việc đóng tệp bằng cách sử dụng câu lệnh with khi xử lý tệp. Trong trường hợp này, bạn hoàn toàn không cần phương thức close[]
Cấu trúc câu lệnh with trông như thế này
with open[path_to_file] as file: #read the file here
Sử dụng câu lệnh with rất tiện lợi và thông thường, vì vậy chúng ta sẽ sử dụng nó trong phần còn lại của hướng dẫn
Bây giờ bạn đã hiểu những kiến thức cơ bản về đọc tệp trong Python. Tiếp theo, chúng ta hãy xem hoạt động đọc tệp bằng cách sử dụng các chức năng đọc khác nhau
Sử dụng Phương thức đọc tệp trong Python
Để lặp lại các ví dụ sau, hãy tạo một thư mục có hai tệp sau
- Người đọc. tệp py để đọc tệp văn bản
- Một ví dụ. txt từ nơi chương trình của bạn đọc văn bản
Ngoài ra, viết một số văn bản trên nhiều dòng vào ví dụ. tập tin txt
Phương thức read[] trong Python
Để đọc một tệp thành một chuỗi, hãy sử dụng phương thức read[]. Như đã thảo luận ở trên, điều này đọc bất cứ thứ gì có trong tệp dưới dạng một chuỗi dài vào chương trình của bạn
Ví dụ: hãy đọc và in ra nội dung của ví dụ. tập tin txt
with open["example.txt"] as file: contents = file.read[] print[contents]
Chạy đoạn mã này sẽ hiển thị nội dung của ví dụ. txt trong bảng điều khiển
Hi This is just an example I demonstrate reading lines
Phương thức readline[] trong Python
Để đọc một tệp một dòng tại một thời điểm, hãy sử dụng phương thức readline[]. Thao tác này đọc dòng hiện tại trong tệp đã mở và di chuyển con trỏ dòng tới dòng tiếp theo. Để đọc toàn bộ tệp, hãy sử dụng vòng lặp while để đọc từng dòng và di chuyển con trỏ tệp cho đến khi đến cuối tệp
Ví dụ
________số 8_______Kết quả là, chương trình này in ra từng dòng một khi vòng lặp while tiếp tục
Desktop/Projects/FileReader/example.py0
Phương thức readlines[] trong Python
Để đọc tất cả các dòng của tệp vào danh sách các chuỗi, hãy sử dụng phương thức readlines[]
Khi bạn đã đọc các dòng, bạn có thể lặp qua danh sách các dòng và in chúng ra chẳng hạn
Desktop/Projects/FileReader/example.py1
Điều này sẽ hiển thị từng dòng trong bảng điều khiển
Desktop/Projects/FileReader/example.py2
Sử dụng vòng lặp For để đọc tệp đã mở
Bạn vừa tìm hiểu về ba phương thức khác nhau mà bạn có thể sử dụng để đọc tệp trong chương trình Python của mình
Thật tốt khi nhận ra rằng hàm open[] trả về một đối tượng có thể lặp lại. Điều này có nghĩa là bạn có thể lặp qua một tệp đã mở giống như bạn lặp qua một danh sách trong Python
Ví dụ
Desktop/Projects/FileReader/example.py3
đầu ra
Desktop/Projects/FileReader/example.py0
Như bạn có thể thấy, bạn không cần sử dụng bất kỳ phương pháp đọc tệp tích hợp nào. Thay vào đó, bạn đã sử dụng vòng lặp for để chạy qua tệp theo từng dòng
Phần kết luận
Hôm nay bạn đã học cách đọc tệp văn bản trong chương trình Python của mình
Tóm lại, đọc tệp theo ba bước sau
- Sử dụng hàm open[] với chế độ 'r' để mở tệp văn bản
- Sử dụng một trong ba phương pháp này. read[], readline[] hoặc readlines[] để đọc tệp
- Đóng tệp sau khi đọc bằng phương thức đóng[] hoặc để Python tự động thực hiện việc đó bằng cách sử dụng câu lệnh với
Thông thường, bạn cũng có thể sử dụng câu lệnh with để đọc tệp. Điều này sẽ tự động đóng tệp cho bạn, do đó bạn không cần phải lo lắng về bước thứ 3