Chế độ tập tin trong Python
Category: Python
Trong Python, chế độ tệp chỉ định mục đích và các thao tác có thể được thực hiện trên tệp khi tệp được mở. Khi bạn mở tệp bằng hàm open(), bạn có thể chỉ định chế độ tệp làm đối số thứ hai.
Chế độ tập tin khác nhau trong Python
Dưới đây là các loại chế độ tệp khác nhau trong Python cùng với mô tả của chúng:
Cách thức | Sự miêu tả |
---|---|
'r' | Mở tệp văn bản để đọc. Đưa ra lỗi I/O nếu tệp không tồn tại. |
'r+' | Mở tệp để đọc và ghi. Đưa ra lỗi I/O nếu tệp không tồn tại. |
`w' | Mở tệp để ghi. Cắt bớt tệp nếu tệp đã tồn tại. Tạo tệp mới nếu tệp không tồn tại. |
'w+' | Mở tệp để đọc và ghi. Cắt bớt tệp nếu tệp đã tồn tại. Tạo tệp mới nếu tệp không tồn tại. |
'a' | Mở tệp để ghi. Dữ liệu đang được ghi sẽ được chèn vào cuối tệp. Tạo tệp mới nếu tệp chưa tồn tại. |
'a+' | Mở tệp để đọc và ghi. Dữ liệu đang được ghi sẽ được chèn vào cuối tệp. Tạo tệp mới nếu tệp chưa tồn tại. |
'rb' | Mở tệp để đọc ở định dạng nhị phân. Đưa ra lỗi I/O nếu tệp không tồn tại. |
'rb+' | Mở tệp để đọc và ghi ở định dạng nhị phân. Đưa ra lỗi I/O nếu tệp không tồn tại. |
'wb' | Mở tệp để ghi ở định dạng nhị phân. Cắt bớt tệp nếu tệp đã tồn tại. Tạo tệp mới nếu tệp không tồn tại. |
'wb+' | Mở tệp để đọc và ghi ở định dạng nhị phân. Cắt bớt tệp nếu tệp đã tồn tại. Tạo tệp mới nếu tệp không tồn tại. |
'ab' | Mở tệp để thêm vào ở định dạng nhị phân. Chèn dữ liệu vào cuối tệp. Tạo tệp mới nếu tệp chưa tồn tại. |
'ab+' | Mở tệp để đọc và thêm vào ở định dạng nhị phân. Chèn dữ liệu vào cuối tệp. Tạo tệp mới nếu tệp chưa tồn tại. |
Chế độ tập tin trong Python
Dưới đây là một số chế độ tệp trong Python :
Chế độ đọc ('r') trong Python
Chế độ này cho phép bạn mở tệp chỉ để đọc. Nếu tệp không tồn tại, nó sẽ đưa ra FileNotFoundError .
ví dụ.txt
Hello Geeks
Ví dụ:
Trong ví dụ này, một tệp có tên 'example.txt' được mở ở chế độ đọc ('r') và nội dung của tệp được đọc và lưu trữ trong biến 'content' bằng cách sử dụng câu lệnh 'with', đảm bảo quản lý tài nguyên phù hợp bằng cách tự động đóng tệp sau khi sử dụng.
with open('example.txt', 'r') as file:
content = file.read()
Đầu ra:
Hello Geeks
Chế độ ghi ('w') trong Python
Chế độ này cho phép bạn mở tệp chỉ để ghi. Nếu tệp đã tồn tại, nó sẽ cắt tệp thành độ dài bằng không. Nếu tệp không tồn tại, nó sẽ tạo tệp mới.
ví dụ.txt
Hello World!
Ví dụ:
Trong ví dụ này, một tệp có tên 'example.txt' được mở ở chế độ ghi ('w') và chuỗi 'Hello, world!' được ghi vào tệp.
with open('example.txt', 'w') as file:
file.write('Hello, world!')
Đầu ra:
Hello, world!
Lưu ý - Nếu bạn mở tệp "example.txt" sau khi chạy mã này, bạn sẽ thấy nó chứa văn bản "Xin chào thế giới!" .
Chế độ Thêm ('a') trong Python
Chế độ này cho phép bạn mở tệp để thêm nội dung mới. Nếu tệp đã tồn tại, nội dung mới sẽ được thêm vào cuối tệp. Nếu tệp không tồn tại, nó sẽ tạo tệp mới.
ví dụ.txt
Hello, World!
This is a new line
Ví dụ:
Trong ví dụ này, một tệp có tên 'example.txt' được mở ở chế độ thêm ('a') và chuỗi '\nĐây là một dòng mới.' được ghi vào cuối tệp.
with open('example.txt', 'a') as file:
file.write('\nThis is a new line.')
Đầu ra:
Hello, World!
This is a new line
Sau đó, mã sẽ ghi chuỗi "\nĐây là một dòng mới." vào tệp, thêm chuỗi này vào nội dung hiện có hoặc tạo một dòng mới nếu tệp trống.
Chế độ nhị phân ('b') trong Python
Chế độ này được sử dụng trong các tệp nhị phân, chẳng hạn như hình ảnh, tệp âm thanh, v.v. Nó luôn được sử dụng kết hợp với chế độ đọc 'rb') hoặc chế độ ghi ('wb').
Ví dụ:
Trong ví dụ này, một tệp có tên 'image.png' được mở ở chế độ đọc nhị phân ('rb'). Dữ liệu nhị phân được đọc từ tệp bằng phương thức 'read()' và được lưu trữ trong biến 'data'.
with open('image.png', 'rb') as file:
data = file.read()
# Xử lý dữ liệu nhị phân
Chế độ đọc và ghi ('r+') trong Python
Chế độ này cho phép bạn mở một tệp để đọc và ghi. Con trỏ tệp sẽ được định vị ở đầu tệp. Nếu tệp không tồn tại, nó sẽ đưa ra FileNotFoundError.
ví dụ.txt
This is a new line.
Initial content.
with open('example.txt', 'r+') as file:
content = file.read()
file.write('\nThis is a new line.')
Đầu ra:
Nếu nội dung ban đầu của "example.txt" là "Nội dung ban đầu", sau khi chạy đoạn mã này, nội dung mới của tệp sẽ là:
This is a new line.
Initial content.
Chế độ ghi và đọc ('w+') trong Python
Chế độ này cho phép bạn mở một tệp để đọc và ghi. Nếu tệp đã tồn tại, nó sẽ cắt tệp thành độ dài bằng không. Nếu tệp không tồn tại, nó sẽ tạo một tệp mới.
ví dụ.txt
Hello, world!
Ví dụ:
Trong ví dụ này, một tệp có tên 'example.txt' được mở ở chế độ ghi và đọc ('w+').
with open('example.txt', 'w+') as file:
file.write('Hello, world!')
file.seek(0)
content = file.read()
Đầu ra:
Do đó, đầu ra của mã này sẽ là chuỗi "Hello, world!". Vì tệp đã bị cắt bớt và con trỏ đã được di chuyển đến đầu trước khi đọc, nên nội dung của tệp sẽ chính xác là những gì đã được ghi vào đó. Vì vậy, nội dung sẽ chứa chuỗi "Hello, world!".
Hello, world!
Published on Jun 20, 2025