Hướng dẫn how do you read the full content of a file in python? - làm thế nào để bạn đọc toàn bộ nội dung của một tệp trong python?
Bạn đang ở đây: Trang chủ/ Python/ Làm thế nào để đọc toàn bộ tệp văn bản trong Python?Home / Python / How to read entire text file in Python? Show Ngày 5 tháng 1 năm 2018 bởi cmdlinetipscmdlinetips Thông thường người ta có thể cần đọc toàn bộ nội dung của tệp văn bản (hoặc tệp phẳng) cùng một lúc trong Python. Trong bài đăng này, chúng tôi đã cho thấy một ví dụ về việc đọc toàn bộ tệp và đọc từng dòng tệp văn bản. Dưới đây là một cách khác để nhập toàn bộ nội dung của tệp văn bản. # Open a file: file file = open('my_text_file',mode='r') # read all lines at once all_of_it = file.read() # close the file file.close() Bài viết liên quan:Câu trả lời cho câu hỏi đó phụ thuộc phần nào vào việc thực hiện Python cụ thể. Để hiểu tất cả những gì về điều này, đặc biệt chú ý đến đối tượng Điều này có nghĩa là đối tượng tệp là rác. Câu hỏi duy nhất còn lại là "Khi nào bộ thu gom rác sẽ thu thập đối tượng tệp?". Trong Cpython, sử dụng một bộ đếm tham chiếu, loại rác này được chú ý ngay lập tức, và do đó nó sẽ được thu thập ngay lập tức. Điều này nói chung không đúng với các triển khai Python khác. Một giải pháp tốt hơn, để đảm bảo rằng tệp được đóng, là mẫu này:
sẽ luôn đóng tệp ngay sau khi khối kết thúc; Ngay cả khi một ngoại lệ xảy ra. Chỉnh sửa: Để đặt một điểm tốt hơn trên đó: Khác với 0, cách duy nhất khác mà 1 được gọi tự động (nghĩa là, ngoài việc gọi nó một cách rõ ràng,) là thông qua 2. Điều này dẫn chúng ta đến câu hỏi khi nào 3 được gọi?
-https://devblogs.microsoft.com/oldnewthing/20100809-00/?p=13203 Đặc biệt:
-https://docs.python.org/3.5/reference/datamodel.html#objects-values-and-ypes (Nhấn mạnh của tôi) Nhưng như nó gợi ý, các triển khai khác có thể có hành vi khác. Ví dụ, Pypy có 6 triển khai thu gom rác khác nhau! Đối tượng tệp Python cung cấp nhiều cách khác nhau để đọc tệp văn bản. Cách phổ biến là sử dụng phương thức readlines () trả về danh sách tất cả các dòng trong tệp. Tuy nhiên, nó không phù hợp để đọc một tệp văn bản lớn vì toàn bộ nội dung tệp sẽ được tải vào bộ nhớ. Đọc các tệp văn bản lớn trong PythonChúng ta có thể sử dụng đối tượng tệp như một trình lặp. Trình lặp sẽ trả về từng dòng một, có thể được xử lý. Điều này sẽ không đọc toàn bộ tệp vào bộ nhớ và nó phù hợp để đọc các tệp lớn trong Python. Dưới đây là đoạn mã để đọc tệp lớn trong Python bằng cách coi nó như một trình lặp.
Khi chúng tôi chạy chương trình này, đầu ra được tạo ra là: Python đọc tệp văn bản lớn
Python Read Large Text File
Chúng tôi cũng có thể sử dụng với câu lệnh để mở tệp. Trong trường hợp này, chúng tôi không thể đóng rõ ràng đối tượng tệp.with statement to open the file. In this case, we don’t have to explicitly close the file object.
Điều gì sẽ xảy ra nếu tệp lớn không có dòng?Mã trên sẽ hoạt động rất tốt khi nội dung tệp lớn được chia thành nhiều dòng. Nhưng, nếu có một lượng lớn dữ liệu trong một dòng thì nó sẽ sử dụng rất nhiều bộ nhớ. Trong trường hợp đó, chúng ta có thể đọc nội dung tệp thành bộ đệm và xử lý nó.
Mã trên sẽ đọc dữ liệu tệp thành bộ đệm gồm 1024 byte. Sau đó, chúng tôi đang in nó vào bảng điều khiển. Khi toàn bộ tệp được đọc, dữ liệu sẽ trở nên trống và câu lệnh break sẽ chấm dứt vòng lặp trong khi. Phương pháp này cũng hữu ích trong việc đọc một tệp nhị phân như hình ảnh, pdf, tài liệu từ, v.v ... Dưới đây là một đoạn mã đơn giản để tạo một bản sao của tệp.
Tham khảo: Câu hỏi về Stackoverflow: StackOverflow Question |