Hướng dẫn various mode of file object in python - chế độ khác nhau của đối tượng tệp trong python

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.

Show

Đố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:

  1. Tệp văn bản
  2. Tập tin nhị phân
  3. 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)

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)

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)

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)

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.
  • 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ở.
  • 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)
    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àm
    file = open('test.txt', 'rb', buffering=0)
    print(type(file))
    # Output:  
    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ề.
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)
9: Nó trả về việc mã hóa tệp này sử dụng, chẳng hạn như UTF-8. Thuộc tính này chỉ đọc. Khi các chuỗi Unicode được ghi vào một tệp, chúng sẽ được chuyển đổi thành chuỗi byte bằng cách sử dụng mã hóa này. Nó cũng có thể là không có. Trong trường hợp đó, tệp sử dụng mã hóa mặc định hệ thống để chuyển đổi chuỗi Unicode.
file_object.read(size)
0: Trả về chế độ truy cập tệp được sử dụng trong khi mở tệp.
file_object.read(size)
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.
file_object.read(size)
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à
file_object.read(size)
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à
file = open('test.txt', 'rb', buffering=0)
print(type(file))
# Output:  
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 PythonPhương pháp
Sự mô tả
file_object.read(size)
5
Trả về nội dung tệp.
file_object.read(size)
6
Trả về liệu luồng tệp có thể được đọc hay không.
file_object.read(size)
7
Đọc dòng đơn
file_object.read(size)
8
Đọc tệp vào một danh sách
file_object.read(size)
9
Thay đổi kích thước tệp thành một kích thước được chỉ định.
# 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())
5
Trả về liệu tệp cho phép chúng tôi thay đổi vị trí tệ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())
6
Trả về vị trí tệp hiện tại.
# 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())
7
Trả về luồng thô tách biệt từ bộ đệm
# 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())
8
Trả về một số đại diện cho luồng, từ quan điểm của hệ điều hành.
# 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())
9
Xóa bộ đệm bên trong.
My First Line

My Second Line
My Third Line
0
Trả về liệu luồng tệp có tương tác hay không.
Phương thức đối tượng tệp

Hãy cùng xem từng phương pháp một.

Phương pháp file_object.read(size)5

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

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:  
1

Output::

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)
7

Example::

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 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
  • Phương pháp
    file_object.read(size)
    8
  • Đọ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:  
4

Nếu đối số My First Line My Second Line My Third Line7 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:  
5

Nó 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

  • 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:  
6

Kí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:  
7

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())1

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

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:  
9

Lưu ý:

# 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 không thêm dấu phân cách dòng.: Complete Guide Python File Seek(): Move File Pointer Position

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

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:  
0

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())3

Đó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:  
1

Lư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.

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())
6

Example::

file = open('test.txt', 'rb', buffering=0)
print(type(file))
# Output:  
2

Bốn chế độ khác nhau để mở một tệp trong Python là gì?

Các chế độ mở một tệp khác nhau là..
R - Mở một tập tin để đọc.(...
W - Mở một tập tin để viết.....
X - Mở để tạo độc quyền, không thành công nếu tệp đã tồn tại ..
A - Mở để viết, nối vào cuối tệp nếu nó tồn tại ..
B - Chế độ nhị phân ..
T - Chế độ văn bản (mặc định).

Có bao nhiêu loại chế độ tệp cơ bản trong Python?

Trong Python, các tệp được coi là hai chế độ là văn bản hoặc nhị phân.two modes as text or binary.

Ba loại tệp trong Python là gì?

Các loại tệp trong Python..
Tệp tài liệu:.pdf,.tài liệu,.XLS vv ..
Tệp hình ảnh:.png,.jpg,.gif,.BMP vv ..
Tập video: .mp4,.3GP,.MKV,.avi vv ..
Tập tin âm thanh: .MP3,.wav,.mka,.....
Tệp cơ sở dữ liệu:.mdb,.Accde,.frm,.....
Lưu trữ tệp:.Zip,.rar,.ISO,.....
Các tập tin thực thi: .exe,.DLL,.lớp học vv ..