Trong hướng dẫn này, bạn sẽ học các đối tượng tệp. Ngoài ra, chúng ta sẽ xem cách sử dụng các phương thức và thuộc tính đối tượng tệp để thực hiện các hoạt động tệp khác nhau.methods and attributes to perform various file operations.
Đối tượng tệp là gì?
Đối tượng tệp Python cung cấp các phương thức và thuộc tính để truy cập và thao tác các tệp. Sử dụng các đối tượng tệp, chúng ta có thể đọc hoặc viết bất kỳ tệp nào.file object provides methods and attributes to access and manipulate files. Using file objects, we can read or write any files.
Bất cứ khi nào chúng tôi mở một tệp để thực hiện bất kỳ hoạt động nào trên đó, Python trả về một đối tượng tệp. Để tạo một đối tượng tệp trong Python, hãy sử dụng các hàm tích hợp, chẳng hạn như
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
3 và file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
4.Ngoại lệ IOERRROR được nêu ra khi một đối tượng tệp bị sử dụng sai hoặc hoạt động tệp không thành công vì lý do liên quan đến I/O. Ví dụ: khi bạn cố gắng ghi vào một tệp khi một tệp được mở ở chế độ chỉ đọc.
Các loại đối tượng tệp
Trong Python, có ba loại khác nhau của một đối tượng tệp, được liệt kê dưới đây:
- Tệp văn bản
- Tập tin nhị phân
- Tệp thô
Tất cả các đối tượng loại tệp được xác định trong mô -đun IO.io module.
Tệp văn bản [file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
5]
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
Loại tệp văn bản là phổ biến nhất. Thông thường, chúng tôi sử dụng các tệp văn bản để lưu trữ dữ liệu ký tự hoặc lưu trữ thông tin trong văn bản thuần túy không có định dạng đặc biệt ngoài các phông chữ và kiểu phông chữ cơ bản.
Chúng tôi mở một tệp văn bản bằng hàm
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
3. Ví dụ, file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
7. Khi chúng tôi mở một tệp văn bản, nó sẽ trả về một đối tượng tệp file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
5.Thí dụ
file = open['test.txt', 'w']
print[type[file]]
# Output:
Tệp nhị phân [file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
9 và with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
0]
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
Dữ liệu được lưu trữ trên một đĩa dưới dạng nhị phân. Ví dụ: chúng tôi sử dụng các tệp nhị phân để lưu trữ dữ liệu như hình ảnh hoặc video. Tệp nhị phân là một hình thức lưu trữ dữ liệu có thể đọc được bằng máy tính.
Một chương trình là cần thiết để giải thích dữ liệu trong một tệp nhị phân và hiển thị nó cho người dùng. Các tập tin nhị phân còn được gọi là tệp đệm. Loại tệp này được sử dụng để đọc và viết dữ liệu nhị phân.
Mở các tệp nhị phân bằng hàm Open [] ở chế độ nhị phân. Ví dụ,
with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
1. Nó mở tệp để đọc chỉ ở chế độ nhị phân. Con trỏ tệp tồn tại ở đầu tệp.Hàm
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
3 sẽ trả về file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
9 khi chúng tôi mở tệp nhị phân để đọc và đối tượng tệp with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
0 khi chúng tôi mở tệp nhị phân để viết.Thí dụ
file = open['test.txt', 'rb']
print[type[file]]
# Output:
Tệp nhị phân [file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
9 và with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
0]
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
Dữ liệu được lưu trữ trên một đĩa dưới dạng nhị phân. Ví dụ: chúng tôi sử dụng các tệp nhị phân để lưu trữ dữ liệu như hình ảnh hoặc video. Tệp nhị phân là một hình thức lưu trữ dữ liệu có thể đọc được bằng máy tính.
Một chương trình là cần thiết để giải thích dữ liệu trong một tệp nhị phân và hiển thị nó cho người dùng. Các tập tin nhị phân còn được gọi là tệp đệm. Loại tệp này được sử dụng để đọc và viết dữ liệu nhị phân.
Mở các tệp nhị phân bằng hàm Open [] ở chế độ nhị phân. Ví dụ,
with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
1. Nó mở tệp để đọc chỉ ở chế độ nhị phân. Con trỏ tệp tồn tại ở đầu tệp.
Thí dụ
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
Tệp nhị phân [file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
9 và with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
0]
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
Dữ liệu được lưu trữ trên một đĩa dưới dạng nhị phân. Ví dụ: chúng tôi sử dụng các tệp nhị phân để lưu trữ dữ liệu như hình ảnh hoặc video. Tệp nhị phân là một hình thức lưu trữ dữ liệu có thể đọc được bằng máy tính.
- Một chương trình là cần thiết để giải thích dữ liệu trong một tệp nhị phân và hiển thị nó cho người dùng. Các tập tin nhị phân còn được gọi là tệp đệm. Loại tệp này được sử dụng để đọc và viết dữ liệu nhị phân.
- Mở các tệp nhị phân bằng hàm Open [] ở chế độ nhị phân. Ví dụ,
1. Nó mở tệp để đọc chỉ ở chế độ nhị phân. Con trỏ tệp tồn tại ở đầu tệp.with open[r'E:\pynative\files\test.txt', "r"] as fp: print['Is Closed:', fp.closed] print['Encoding Used:', fp.encoding] print['Access Mode:', fp.mode] print['NewLines Found:', fp.newlines]
- Hàm
3 sẽ trả vềfile = open['test.txt', 'rb', buffering=0] print[type[file]] # Output:
9 khi chúng tôi mở tệp nhị phân để đọc và đối tượng tệpfile = open['test.txt', 'rb', buffering=0] print[type[file]] # Output:
0 khi chúng tôi mở tệp nhị phân để viết.with open[r'E:\pynative\files\test.txt', "r"] as fp: print['Is Closed:', fp.closed] print['Encoding Used:', fp.encoding] print['Access Mode:', fp.mode] print['NewLines Found:', fp.newlines]
- Tệp thô
- Một tập tin thô là một tập hợp các dữ liệu chưa được xử lý. Điều đó có nghĩa là tệp RAW chưa bị thay đổi hoặc thao tác theo bất kỳ cách nào bởi máy tính.
Example::
with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
Các tệp RAW còn được gọi là các tệp không bị truy cập và loại tệp này thường được sử dụng làm khối xây dựng cấp thấp cho các luồng nhị phân và văn bản. Hầu hết, tệp thô không được sử dụng.
Khi chúng tôi mở các tệp này, sử dụng hàm
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
3 sẽ trả về đối tượng with open[r'E:\pynative\files\test.txt', "r"] as fp:
print['Is Closed:', fp.closed]
print['Encoding Used:', fp.encoding]
print['Access Mode:', fp.mode]
print['NewLines Found:', fp.newlines]
6.Thuộc tính đối tượng tệp:
- Đối tượng tệp có các thuộc tính sau mà chúng ta có thể sử dụng để truy cập các chi tiết khác nhau của tệp, chẳng hạn như tên tệp và trong chế độ đó tệp được mở.
7: Trả lại tên của tệp. Nó là một thuộc tính chỉ đọc và có thể không có mặt trên tất cả các đối tượng giống như tệp. Nếu đối tượng tệp được tạo bằng hàmwith open[r'E:\pynative\files\test.txt', "r"] as fp: print['Is Closed:', fp.closed] print['Encoding Used:', fp.encoding] print['Access Mode:', fp.mode] print['NewLines Found:', fp.newlines]
3, tên tệp được trả về. Mặt khác, một số chuỗi cho biết nguồn của đối tượng tệp được trả về.file = open['test.txt', 'rb', buffering=0] print[type[file]] # Output:
1: Trả về đúng nếu một tệp được đóng. Nó là một giá trị boolean chỉ ra trạng thái hiện tại của đối tượng tệp. | 2: Các tập tin được mở trong chế độ đọc Newline phổ quát theo dõi các dòng mới gặp phải trong khi đọc tệp. Các giá trị là ‘\ r,‘ \ n, ‘\ r \ n, chưa có [chưa có mới đọc] hoặc một tuple chứa tất cả các loại dòng mới được thấy. Đối với các tệp không được mở trong chế độ đọc dòng phổ quát, giá trị của thuộc tính này sẽ là 3 |
Phương thức đối tượng tệp | Đối tượng tệp có các phương thức sau mà chúng ta có thể sử dụng để truy cập tệp: một tệp có thể được mở với chức năng tích hợp có tên là 3. Hàm này có trong đường dẫn tệp và chế độ truy cập và trả về một đối tượng tệp. |
Đọc thêm: | Mở một tệp trong Python |
Tạo một tệp trong Python | Phương pháp |
Sự mô tả | 5 |
Trả về nội dung tệp. | 6 |
Trả về liệu luồng tệp có thể được đọc hay không. | 7 |
Đọc dòng đơn | 8 |
Đọc tệp vào một danh sách | 9 |
Thay đổi kích thước tệp thành một kích thước được chỉ định. | 0 |
5 | Trả về liệu tệp cho phép chúng tôi thay đổi vị trí tệp. |
6 | Trả về vị trí tệp hiện tại. |
7 | Trả về luồng thô tách biệt từ bộ đệm |
8 | Trả về một số đại diện cho luồng, từ quan điểm của hệ điều hành. |
9 | Xóa bộ đệm bên trong. |
My First Line My Second Line My Third Line0 | Trả về liệu luồng tệp có tương tác hay không. |
Hãy cùng xem từng phương pháp một.
Phương pháp file_object.read[size]
5
file_object.read[size]
Syntax::
file_object.read[size]
My First Line My Second Line My Third Line
2 đại diện cho số byte để đọc từ một tệp. Nó trả về nội dung tệp trong một đối tượng chuỗi.number of bytes to read from a file. It returns file content in a string object.- Nếu
My First Line My Second Line My Third Line
2 không được chỉ định, nó sẽ đọc tất cả nội dung từ một tệpreads all content from a file - Nếu đối số kích thước là âm hoặc không được chỉ định, hãy đọc tất cả dữ liệu cho đến khi đạt được EOF.
- Một chuỗi trống được trả về khi EOF gặp phải ngay lập tức.
- Khi được sử dụng ở chế độ không chặn, ít dữ liệu hơn được yêu cầu có thể được trả về, ngay cả khi không có tham số kích thước nào được đưa ra.
Example::
# read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
Output::
My First Line My Second Line My Third Line
Đọc thêm::
- Hướng dẫn đầy đủ về đọc các tệp trong Python
- Đọc các dòng cụ thể từ một tệp trong Python
Phương pháp file_object.read[size]
7
file_object.read[size]
Syntax::
file_object.readline[size]
- Đọc một dòng từ một tệp tại một thời điểm. Nó trả về dòng trong một định dạng chuỗi.
- Nếu
My First Line My Second Line My Third Line
2 được cung cấp, nó sẽ đọc số lượng byte [bao gồm cả dòng mới] từ một tệp. - Nếu đối số kích thước là âm hoặc không được chỉ định, nó sẽ đọc một dòng duy nhất
- Một chuỗi trống được trả về khi EOF gặp phải ngay lập tức.
Example::
# readline[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read single line
print[fp.readline[]]
# read next line
print[fp.readline[]]
Output::
My First Line My Second Line
Khi được sử dụng ở chế độ không chặn, ít dữ liệu hơn được yêu cầu có thể được trả về, ngay cả khi không có tham số kích thước nào được đưa ra.
Syntax::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
0- Đọc thêm:
- Hướng dẫn đầy đủ về đọc các tệp trong Python
Example::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
1Output::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
2Đọc các dòng cụ thể từ một tệp trong Python
Phương pháp
file_object.read[size]
7Example::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
3Đọc một dòng từ một tệp tại một thời điểm. Nó trả về dòng trong một định dạng chuỗi.
Nếu
My First Line My Second Line My Third Line2 được cung cấp, nó sẽ đọc số lượng byte [bao gồm cả dòng mới] từ một tệp.
- Nếu đối số kích thước là âm hoặc không được chỉ định, nó sẽ đọc một dòng duy nhất
- Phương pháp
8file_object.read[size]
- Đọc tất cả các dòng từ một tệp và trả về chúng dưới dạng đối tượng danh sách.
Example::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
4Nếu đối số My First Line
My Second Line
My Third Line
7 có mặt, thay vì đọc toàn bộ tệp, toàn bộ các dòng có tổng số các byte sizehint [có thể sau khi làm tròn lên kích thước bộ đệm bên trong]
Phương thức có thể đọc được []
Example::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
5Nó kiểm tra xem luồng tệp có thể được đọc hay không.: Complete guide on write to file in Python
Phương pháp file_object.read[size]
9
file_object.read[size]
- Sử dụng phương thức cắt [] để làm cho tệp trống.
- Nếu đối số kích thước tùy chọn có mặt, tệp bị cắt theo [nhiều nhất] kích thước đó. Vì vậy, ví dụ, nếu bạn chỉ định 10 byte, cắt ngắn [] sẽ xóa mười byte đầu tiên khỏi một tệp.
Example::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
6Kích thước mặc định là vị trí hiện tại của con trỏ tệp
Vị trí tệp hiện tại không thay đổi. Lưu ý rằng nếu một kích thước được chỉ định vượt quá kích thước hiện tại của tệp, kết quả phụ thuộc vào nền tảng: các khả năng bao gồm tệp có thể không thay đổi, hãy tăng lên kích thước được chỉ định như thể không được lấp đầy hoặc tăng lên kích thước được chỉ định với nội dung mới không xác định. Tính khả dụng: Windows, nhiều biến thể Unix.
Example::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
7Phương pháp # read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
1
# read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
Viết một chuỗi vào tệp. Nếu bộ đệm được sử dụng, dòng có thể không hiển thị trong tệp cho đến khi phương thức xả [] hoặc đóng [] được gọi.
Example::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
8Đọc thêm: Hướng dẫn đầy đủ về ghi vào tệp trong Python: It is good practice to open a file using the
file_object.readline[size]
5 statement. It automatically closes the file and ensures that all the resources tied up with the file are released.Phương pháp # read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
2
# read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
Viết một danh sách các chuỗi vào tệp. Sử dụng để viết nhiều dòng tại một thời điểm vào một tệp. Bạn có thể viết bất kỳ chuỗi sản xuất đối tượng nào, thường là một danh sách các chuỗi.sets the position of a file pointer and the
# read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
6 function returns the current position of a file pointer.Example::
file = open['test.txt', 'rb']
print[type[file]]
# Output:
9Lưu ý:
2 không thêm dấu phân cách dòng.: Complete Guide Python File Seek[]: Move File Pointer Position# read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
Phương pháp # read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
0
# read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
Nó kiểm tra xem tệp có thể được ghi vào hay không.
Example::
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
0Phương pháp # read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
3
# read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
Đóng tệp đã mở. Một tệp đóng không thể được đọc hoặc viết nữa.
file_object.readline[size]
4 sẽ được nâng lên nếu bạn cố gắng đọc hoặc viết một tệp đóng.Example::
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
1Lưu ý: Đó là thực tế tốt để mở một tệp bằng cách sử dụng câu lệnh file_object.readline[size]
5. Nó tự động đóng tệp và đảm bảo rằng tất cả các tài nguyên được gắn với tệp được phát hành.
file_object.readline[size]
Phương pháp
# read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
4 và # read[size]
with open[r'E:\pynative\files\test.txt', 'r'] as fp:
# read 14 bytes
# fp is file object
print[fp.read[14]]
# read all remaining content
print[fp.read[]]
6Example::
file = open['test.txt', 'rb', buffering=0]
print[type[file]]
# Output:
2