Bạn đang tìm kiếm chế độ ________ 31/________ 32/________ 33, cho phép cả các hoạt động đọc và ghi vào các tệp.
Với
file_object = open['file_name', 'mode']
1, vị trí ban đầu lúc đầu, nhưng đọc nó một lần sẽ đẩy nó về cuối, cho phép bạn nối thêm. Với file_object = open['file_name', 'mode']
2, vị trí ban đầu ở cuối.with open["filename", "r+"] as f:
# here, position is initially at the beginning
text = f.read[]
# after reading, the position is pushed toward the end
f.write["stuff to append"]
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
Nếu bạn cần thực hiện toàn bộ đọc lại, bạn có thể quay lại vị trí bắt đầu bằng cách thực hiện
file_object = open['file_name', 'mode']
6.with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
[Đọc thêm: Sự khác biệt giữa 'R+' và 'A+' khi mở tệp trong Python là gì?]
Bạn cũng có thể sử dụng
file_object = open['file_name', 'mode']
3, nhưng điều này sẽ cắt ngắn [xóa] tất cả các nội dung hiện có.Đây là một sơ đồ nhỏ đẹp từ một bài đăng khác:
[source]
Giới thiệu
Xử lý tập tin là một phần không thể thiếu của lập trình. Xử lý tệp trong Python được đơn giản hóa với các phương thức tích hợp, bao gồm tạo, mở và đóng các tệp.
Mặc dù các tệp được mở, Python cũng cho phép thực hiện các hoạt động tệp khác nhau, chẳng hạn như đọc, viết và nối thêm thông tin.
Bài viết này dạy bạn cách làm việc với các tập tin trong Python.
Điều kiện tiên quyết
- Python 3 đã cài đặt và thiết lập.
- Một trình soạn thảo IDE hoặc mã để ghi mã.
- Truy cập vào một thiết bị đầu cuối để chạy mã [hoặc chạy trực tiếp trong IDE].
- Một tệp văn bản cho các ví dụ.
Mở tệp trong Python
Phương thức
file_object = open['file_name', 'mode']
8 Python là chức năng xử lý tệp chính. Cú pháp cơ bản là:file_object = open['file_name', 'mode']
8 Python method is the primary file handling function. The basic syntax is:file_object = open['file_name', 'mode']
Hàm
file_object = open['file_name', 'mode']
8 có hai tham số cơ bản để xử lý tệp:file_object = open['file_name', 'mode']
8 function takes two elementary parameters for file handling:1.
f = open[""]
0 bao gồm tiện ích mở rộng tệp và giả sử tệp nằm trong thư mục làm việc hiện tại. Nếu vị trí tệp ở nơi khác, hãy cung cấp đường dẫn tuyệt đối hoặc tương đối.f = open[""]
0 includes the file extension and assumes the file is in the current working directory. If the file location is elsewhere, provide the absolute or relative
path.2.
f = open[""]
1 là một tham số tùy chọn xác định phương thức mở tệp. Bảng bên dưới phác thảo các tùy chọn có thể khác nhau:f = open[""]
1 is an optional parameter that defines the file opening method. The table below outlines the different possible options: 2
| Đọc từ một tệp và trả về một lỗi nếu tệp không tồn tại [mặc định].default]. |
3
| Ghi vào một tệp và tạo tệp nếu nó không tồn tại hoặc ghi đè một tệp hiện có. |
4
| Tạo độc quyền thất bại nếu tệp đã tồn tại. |
5
| Lối vào một tệp và tạo tệp nếu nó không tồn tại hoặc ghi đè một tệp hiện có. |
6
| Chế độ nhị phân. Sử dụng chế độ này cho các tệp phi văn bản, chẳng hạn như hình ảnh. |
7
| Chế độ văn bản. Chỉ sử dụng cho các tệp văn bản [mặc định].default]. |
8
| Kích hoạt các phương thức đọc và ghi. |
Chế độ phải có chính xác một tạo [____ 49]/đọc [________ 50]/write [____ 51]/append [____ 52], nhiều nhất là một
f = open["", "rt"]
3. Bỏ qua chế độ mặc định là f = open["", "rt"]
4 để đọc các tệp văn bản.f = open[""]
9]/read[f = open["", "rt"]
0]/write[f = open["", "rt"]
1]/append[f = open["", "rt"]
2] method, at most one f = open["", "rt"]
3. Omitting the mode defaults to f = open["", "rt"]
4 for reading text files.Dưới đây là một bảng mô tả cách mỗi chế độ hoạt động khi được gọi.
Đọc | 0, 1, 3, 2, 9, 1, 3, 2, 9
|
Viết | 1, 1, 3, 2, 2, 9, 1, 3, 2, 2, 9
|
Tạo ra | 1, 3, 2, 2, 9, 9, 3, 2, 2, 9, 9
|
Vị trí con trỏ bắt đầu | 0, 1, 1, 3, 9, 9, 1, 1, 3, 9, 9
|
Vị trí con trỏ kết thúc | 2, 2, 2
|
Cắt ngắn [nội dung rõ ràng] | 1, 3, 3
|
Phải tồn tại | 0, 1, 1
|
Không được tồn tại | 9, 9, 9
|
Chế độ đọc
Chế độ đọc trong Python mở một tệp hiện có để đọc, định vị con trỏ khi bắt đầu tệp.
Lưu ý: Nếu tệp không tồn tại, Python đã ném lỗi. If the file does not exist, Python throws an error.
Để đọc tệp văn bản trong Python, hãy tải tệp bằng cách sử dụng hàm
file_object = open['file_name', 'mode']
8:file_object = open['file_name', 'mode']
8 function:f = open[""]
Chế độ mặc định để đọc văn bản [
f = open["", "rt"]
4]. Do đó, phương thức sau tương đương với mặc định:f = open["", "rt"]
4]. Therefore, the following method is equivalent to the
default:f = open["", "rt"]
Để đọc các tệp ở chế độ nhị phân, sử dụng:
f = open["", "rb"]
Thêm
f = open["", "rt"]
3 để mở một tệp ở chế độ đọc và ghi:f = open["", "rt"]
3 to open a file in read and write mode:f = open["", "r+"] # Textual read and write
f = open["", "rt+"] # Same as above
f = open["", "rb+"] # Binary read and write
Trong mọi trường hợp, hàm trả về một đối tượng tệp và các đặc điểm phụ thuộc vào chế độ đã chọn.
Chế độ viết
Chế độ viết tạo một tệp để viết nội dung và đặt con trỏ khi bắt đầu. Nếu tệp tồn tại, hãy viết cắt [xóa] bất kỳ thông tin hiện có.
Cảnh báo: Chế độ ghi xóa nội dung hiện có ngay lập tức. Kiểm tra xem một tập tin có tồn tại trước khi ghi đè thông tin một cách tình cờ. Write mode deletes existing content immediately. Check if a file exists before overwriting information by accident.
Để mở một tệp để viết thông tin, sử dụng:
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
0Chế độ mặc định là văn bản, vì vậy dòng sau tương đương với mặc định:
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
1Để viết ở chế độ nhị phân, hãy mở tệp với:
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
2Thêm
f = open["", "rt"]
3 để cho phép đọc tệp:f = open["", "rt"]
3 to allow reading the file:with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
3with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
4with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
5Hàm
file_object = open['file_name', 'mode']
8 trả về một đối tượng tệp có chi tiết phụ thuộc vào các chế độ đã chọn.file_object = open['file_name', 'mode']
8 function returns a file
object whose details depend on the chosen modes.Chế độ nối
Chế độ nối thêm thông tin vào một tệp hiện có, đặt con trỏ ở cuối. Nếu một tệp không tồn tại, chế độ nối sẽ tạo tệp.
Lưu ý: Sự khác biệt chính giữa các chế độ ghi và phụ lục là phần phụ không xóa nội dung của tệp. The key difference between write and append modes is that append does not clear a file's contents.
Sử dụng một trong các dòng sau để mở tệp ở chế độ phụ lục:
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
6with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
7with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
8Thêm dấu hiệu
f = open["", "rt"]
3 để bao gồm chức năng đọc.f = open["", "rt"]
3
sign to include the read functionality.Tạo chế độ
Tạo chế độ [còn được gọi là độc quyền tạo] chỉ tạo một tệp nếu nó không tồn tại, định vị con trỏ khi bắt đầu tệp.
LƯU Ý: Nếu tệp tồn tại, Python ném lỗi. Sử dụng chế độ này để tránh ghi đè các tệp hiện có. If the file exists, Python throws an error. Use this mode to avoid overwriting existing files.
Sử dụng một trong các dòng sau để mở tệp trong chế độ Tạo:
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
9with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
0with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
1Thêm dấu
f = open["", "rt"]
3 vào chế độ bao gồm chức năng đọc vào bất kỳ dòng nào ở trên.f = open["", "rt"]
3 sign to the mode
include reading functionality to any of the above lines.Đọc các tệp trong Python
Sau khi nhập một tệp vào một đối tượng, Python cung cấp nhiều phương pháp để đọc nội dung.
Sử dụng phương thức
f = open["", "rb+"] # Binary read and write
3 trên đối tượng tệp và in kết quả. Ví dụ:f = open["", "rb+"] # Binary read and write
3 method on the file object and print the result. For example:with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
2Lưu ý: Hàm
4 tự động thêm một dòng trống mới. Để thay đổi hành vi này, hãy thêm tham số f = open["", "rb+"] # Binary read and write
5 vào f = open["", "rb+"] # Binary read and write
4 để xóa dòng trống. The f = open["", "rb+"] # Binary read and write
4 function automatically adds a new empty line. To change this behavior, add the f = open["", "rb+"] # Binary read and write
5
parameter to f = open["", "rb+"] # Binary read and write
4 to remove the empty line.f = open["", "rb+"] # Binary read and write
Mã in nội dung của tệp văn bản.
Đọc các phần của tệp
Cung cấp một số cho hàm
f = open["", "rb+"] # Binary read and write
3 chỉ đọc số ký tự được chỉ định:f = open["", "rb+"] # Binary read and write
3 function to read only the specified number of characters:with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
3Đầu ra in năm ký tự đầu tiên trong tệp.
Ngoài ra, sử dụng phương thức
f = open["", "rb+"] # Binary read and write
8 để chỉ in dòng đầu tiên của tệp:f = open["", "rb+"] # Binary read and write
8 method to print only the first line of the file:with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
4Thêm một số nguyên vào hàm
f = open["", "rb+"] # Binary read and write
8 để in số ký tự được chỉ định mà không vượt quá dòng đầu tiên.f = open["", "rb+"] # Binary read and write
8
function to print the specified number of characters without exceeding the first line.Đọc dòng
Để đọc các dòng và lặp qua nội dung của tệp, hãy sử dụng vòng lặp
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
00:with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
00 loop:with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
5Ngoài ra, sử dụng phương thức
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
01 trên đối tượng tệp:with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
01 method on the file object:with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
6Hàm trả về danh sách các dòng từ luồng tệp.
Thêm một số nguyên vào hàm
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
01 để kiểm soát số lượng dòng. Ví dụ:with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
01 function to control the number of lines. For example:with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
7Số nguyên đại diện cho số ký tự và hàm trả về dòng nơi ký tự kết thúc cùng với các dòng trước.
Đóng tệp
Một tệp vẫn mở cho đến khi gọi hàm
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
03. Đó là thực tế tốt để đóng các tệp không còn được sử dụng để tránh hành vi tệp không thể đoán trước và các tệp bị hỏng.with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
03 function. It's good practice to close files no longer in use to avoid unpredictable file behavior and corrupted files.Để đóng tệp, hãy chạy phương thức
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
03 trên đối tượng tệp:with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
03 method on the file object:with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
8Một cách khác để đảm bảo một tệp đóng là sử dụng câu lệnh
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
05. Ví dụ:with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
05 statement. For example:with open["filename", "r+"] as f:
text = f.read[]
f.write["stuff to append"]
f.seek[0] # return to the top of the file
text = f.read[]
assert text.endswith["stuff to append"]
9Câu lệnh
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
05 tự động đóng tệp.with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
05
statement automatically closes the file.Xóa các tệp trong Python
Loại bỏ các tệp trong Python yêu cầu thiết lập giao tiếp với hệ điều hành. Nhập thư viện
with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
07 và xóa một tệp bằng cách sau:with open["filename", "a+"] as f:
# here, position is already at the end
f.write["stuff to append"]
07 library and delete a file with the following:file_object = open['file_name', 'mode']
0Các tập tin không còn có sẵn. Nếu tệp không tồn tại, Python đã gây ra lỗi.
Phương thức tập tin Python
Python cung cấp nhiều chức năng khác khi làm việc với các đối tượng tệp. Dưới đây là một bảng phác thảo tất cả các quy trình có sẵn và những gì họ làm.
03
| Xóa và đóng đối tượng tệp. |
09
| Tách bộ đệm với luồng văn bản và trả về bộ đệm. |
10
| Trả về bộ mô tả của tệp nếu có. |
11
| Xóa bộ đệm ghi. Không có sẵn cho các đối tượng chỉ đọc. |
12
| Kiểm tra xem luồng tệp có tương tác không. |
13
| Đọc 14 Số lượng ký tự nhiều nhất. 14 number of characters at most.
|
15
| Kiểm tra nếu một đối tượng có thể đọc được. |
16
| Đọc từ đối tượng cho đến khi một dòng mới hoặc kết thúc của tệp. |
17
| Trả về một danh sách các dòng từ đối tượng tệp, trong đó 14 là số ký tự gần đúng. 14 is the approximate character number.
|
19
| Thay đổi vị trí con trỏ thành 20 so với 21. 20 relative to the 21.
|
22
| Kiểm tra xem đối tượng tệp có hỗ trợ truy cập ngẫu nhiên không. |
23
| In vị trí luồng hiện tại. |
24
| Thay đổi kích thước luồng tệp thành 25 [hoặc vị trí hiện tại nếu không được kiểm soát] và trả về kích thước. 25 [or current position if unstated] and returns the size.
|
26
| Viết 27 vào đối tượng tệp và trả về số lượng ký tự bằng văn bản. 27 to the file object and returns the written number of characters.
|
28
| Kiểm tra xem đối tượng tệp cho phép viết. |
29
| Viết một 30 của các dòng vào luồng mà không có dấu phân cách dòng. 30 of lines to the stream without a line separator.
|
Sự kết luận
Bạn biết cách xử lý các tập tin trong Python sau khi đọc hướng dẫn này. Hãy thử sử dụng thư viện Python như & nbsp; pandas & nbsp; để làm việc với các loại tệp khác.