Các tập lệnh Python được lưu trữ trong một thư mục và có thể dễ dàng mở tệp mà không cần chỉ định đường dẫn đầy đủ. Tuy nhiên, chúng tôi cũng có thể được yêu cầu mở tệp trong các thư mục khác nhau
Hàm
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
38 thường được sử dụng để mở tệp và đường dẫn của các tệp đó được chỉ định trong hàmChúng ta có thể chỉ định đường dẫn thông thường trong hàm mở tệp, chẳng hạn như
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
39. Nhưng Python có thể hiểu with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
40 là một ký tự thoátĐó là lý do tại sao chúng ta có những cách khác để chỉ định thư mục và tên tệp trong Python
Sử dụng ký tự with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
40 để mở tệp trong các thư mục khác bằng Python
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
Nên sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
42 thay cho with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
40. Nó loại bỏ lỗi diễn giải with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
40 thành ký tự thoátVí dụ,
f = open["C:\\Users\\Directory\\sample.txt"]
Sử dụng Chuỗi thô để mở tệp trong các thư mục khác bằng Python
Bằng cách chỉ định
import os
f = open[r'C:\Users\Directory\sample.txt']
0 trước đường dẫn, chúng tôi yêu cầu Python diễn giải nó dưới dạng chuỗi thô. Bằng cách này, nó sẽ không coi with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
40 là ký tự thoátXem mã dưới đây
import os
f = open[r'C:\Users\Directory\sample.txt']
Sử dụng hàm import os
f = open[r'C:\Users\Directory\sample.txt']
2 để mở tệp trong các thư mục khác trong Python
import os
f = open[r'C:\Users\Directory\sample.txt']
Mô-đun
import os
f = open[r'C:\Users\Directory\sample.txt']
3 giúp thực hiện các tác vụ liên quan đến đường dẫn bao gồm xây dựng đường dẫn mới từ tên tệp và kiểm tra các thuộc tính khác nhau của đường dẫn Python có một số mô-đun và chức năng tích hợp để xử lý tệp. Các chức năng này được trải rộng trên một số mô-đun, chẳng hạn như
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
02, with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
03, with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05, để kể tên một số. Bài viết này tập hợp tại một nơi nhiều hàm bạn cần biết để thực hiện các thao tác phổ biến nhất trên tệp trong PythonTrong hướng dẫn này, bạn sẽ học cách
- Truy xuất thuộc tính tệp
- Tạo thư mục
- Khớp các mẫu trong tên tệp
- Duyệt cây thư mục
- Tạo các tệp và thư mục tạm thời
- Xóa tệp và thư mục
- Sao chép, di chuyển hoặc đổi tên tệp và thư mục
- Tạo và trích xuất kho lưu trữ ZIP và TAR
- Mở nhiều tệp bằng mô-đun
06with open['data.txt', 'w'] as f: data = 'some data to be written to the file' f.write[data]
Tiền thưởng miễn phí. 5 Suy nghĩ về Làm chủ Python, một khóa học miễn phí dành cho các nhà phát triển Python cho bạn thấy lộ trình và tư duy mà bạn sẽ cần để đưa các kỹ năng Python của mình lên một tầm cao mới
Mô hình “với open[…] as…” của Python
Đọc và ghi dữ liệu vào tệp bằng Python khá đơn giản. Để làm điều này, trước tiên bạn phải mở tệp ở chế độ thích hợp. Đây là một ví dụ về cách sử dụng mẫu “with open[…] as…” của Python để mở một tệp văn bản và đọc nội dung của nó
import os
f = open[r'C:\Users\Directory\sample.txt']
0with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
07 lấy tên tệp và chế độ làm đối số của nó. with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
08 mở tệp ở chế độ chỉ đọc. Để ghi dữ liệu vào một tệp, thay vào đó hãy chuyển vào with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
09 làm đối sốwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
Trong các ví dụ trên,
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
07 mở tệp để đọc hoặc ghi và trả về một thẻ xử lý tệp [trong trường hợp này là with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
11] cung cấp các phương thức có thể được sử dụng để đọc hoặc ghi dữ liệu vào tệp. Hãy xem Đọc và ghi tệp bằng Python và Làm việc với I/O tệp bằng Python để biết thêm thông tin về cách đọc và ghi vào tệpLoại bỏ các quảng cáoLấy danh sách thư mục
Giả sử thư mục làm việc hiện tại của bạn có một thư mục con tên là
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
12 có các nội dung sauimport os
f = open[r'C:\Users\Directory\sample.txt']
8Mô-đun
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
02 tích hợp có một số chức năng hữu ích có thể được sử dụng để liệt kê nội dung thư mục và lọc kết quả. Để có danh sách tất cả các tệp và thư mục trong một thư mục cụ thể trong hệ thống tệp, hãy sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 trong các phiên bản cũ của Python hoặc with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 trong Python 3. x. with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 là phương pháp ưa thích để sử dụng nếu bạn cũng muốn nhận các thuộc tính của tệp và thư mục, chẳng hạn như kích thước tệp và ngày sửa đổiDanh sách thư mục trong các phiên bản Python kế thừa
Trong các phiên bản Python trước Python 3,
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 là phương thức được sử dụng để lấy danh sách thư mục>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
4with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 trả về một danh sách Python chứa tên của các tệp và thư mục con trong thư mục được cung cấp bởi đối số đường dẫn>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
6Một danh sách thư mục như thế không dễ đọc. In ra đầu ra của lệnh gọi tới
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 bằng cách sử dụng vòng lặp giúp dọn dẹp mọi thứ>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
8Danh sách thư mục trong các phiên bản Python hiện đại
Trong các phiên bản hiện đại của Python, một giải pháp thay thế cho
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 là sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 đã được giới thiệu trong Python 3. 5 và được ghi lại trong PEP 471. with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 trả về một trình lặp thay vì danh sách khi được gọi>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
4with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
25 trỏ tới tất cả các mục trong thư mục hiện tại. Bạn có thể lặp lại nội dung của iterator và in ra tên tệpimport os
f = open[r'C:\Users\Directory\sample.txt']
6Ở đây,
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 được sử dụng cùng với câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27 vì nó hỗ trợ giao thức quản lý ngữ cảnh. Sử dụng trình quản lý bối cảnh sẽ đóng trình vòng lặp và tự động giải phóng các tài nguyên đã thu được sau khi sử dụng hết trình vòng lặp. Kết quả là một bản in tên tệp trong with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
28 giống như bạn đã thấy trong ví dụ về with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14import os
f = open[r'C:\Users\Directory\sample.txt']
1Một cách khác để lấy danh sách thư mục là sử dụng mô-đun
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05import os
f = open[r'C:\Users\Directory\sample.txt']
3Các đối tượng được trả về bởi
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
31 là đối tượng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
32 hoặc with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
33 tùy thuộc vào hệ điều hànhCác đối tượng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22 có một phương thức with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
35 để tạo một trình vòng lặp của tất cả các tệp và thư mục trong một thư mục. Mỗi mục do with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
35 tạo ra chứa thông tin về tệp hoặc thư mục, chẳng hạn như tên và thuộc tính tệp của nó. with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 lần đầu tiên được giới thiệu trong Python 3. 4 và là một bổ sung tuyệt vời cho Python cung cấp giao diện hướng đối tượng cho hệ thống tệpTrong ví dụ trên, bạn gọi
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22 và truyền đối số đường dẫn cho nó. Tiếp theo là gọi tới with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
35 để lấy danh sách tất cả các tệp và thư mục trong with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
12with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 cung cấp một tập hợp các lớp có hầu hết các hoạt động phổ biến trên các đường dẫn theo cách hướng đối tượng dễ dàng. Sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 sẽ hiệu quả hơn nếu không muốn nói là sử dụng các chức năng trong with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
02. Một lợi ích khác của việc sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 so với with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
02 là nó giảm số lần nhập mà bạn cần thực hiện để thao tác các đường dẫn hệ thống tệp. Để biết thêm thông tin, hãy đọc Mô-đun pathlib của Python 3. Thuần hóa hệ thống tập tinGhi chú. Để bắt đầu với
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05, hãy xem phần Cơ bản về Python. Thao tác hệ thống tệpChạy đoạn mã trên tạo ra như sau
import os
f = open[r'C:\Users\Directory\sample.txt']
1Sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22 hoặc with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 thay vì with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 là cách ưa thích để nhận danh sách thư mục, đặc biệt khi bạn đang làm việc với mã cần loại tệp và thông tin thuộc tính tệp. with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22 cung cấp nhiều chức năng xử lý tệp và đường dẫn có trong with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
02 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04, đồng thời các phương thức của nó hiệu quả hơn một số phương thức được tìm thấy trong các mô-đun này. Chúng tôi sẽ sớm thảo luận về cách lấy thuộc tính tệpĐây là các chức năng liệt kê thư mục một lần nữa
FunctionDescription
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14Trả về danh sách tất cả các tệp và thư mục trong một thư mụcwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15Trả về một trình vòng lặp của tất cả các đối tượng trong một thư mục bao gồm thông tin thuộc tính tệpwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
55Trả về một trình vòng lặp của tất cả các đối tượng trong một thư mục bao gồm thông tin thuộc tính tệpCác hàm này trả về danh sách mọi thứ trong thư mục, bao gồm cả thư mục con. Đây có thể không phải lúc nào cũng là hành vi bạn muốn. Phần tiếp theo sẽ chỉ cho bạn cách lọc kết quả từ danh sách thư mục
Loại bỏ các quảng cáoLiệt kê tất cả các tệp trong một thư mục
Phần này sẽ chỉ cho bạn cách in ra tên của các tệp trong một thư mục bằng cách sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14, with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22. Để lọc ra các thư mục và chỉ liệt kê các tệp từ danh sách thư mục do with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 tạo ra, hãy sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
03with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
1Tại đây, lệnh gọi tới
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 trả về một danh sách mọi thứ trong đường dẫn đã chỉ định, sau đó danh sách đó được lọc bởi with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
62 để chỉ in ra các tệp và không in ra các thư mục. Điều này tạo ra đầu ra sauwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
2Một cách dễ dàng hơn để liệt kê các tệp trong một thư mục là sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 hoặc with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
3Sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 có ưu điểm là trông gọn gàng và dễ hiểu hơn so với sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14, mặc dù nó dài hơn một dòng mã. Gọi with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
67 trên mỗi mục trong with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
25 trả về with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
69 nếu đối tượng là một tệp. In ra tên của tất cả các tệp trong thư mục sẽ cho bạn đầu ra sauwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
2Đây là cách liệt kê các tệp trong một thư mục bằng cách sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
5Tại đây, bạn gọi
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
71 trên mỗi mục do with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
35 mang lại. Sản lượng được sản xuất là như nhauwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
2Đoạn mã trên có thể ngắn gọn hơn nếu bạn kết hợp vòng lặp
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
73 và câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
74 thành một biểu thức trình tạo duy nhất. Dan Bader có một bài viết xuất sắc về biểu thức trình tạo và cách hiểu danh sáchPhiên bản sửa đổi trông như thế này
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
7Điều này tạo ra chính xác đầu ra giống như ví dụ trước nó. Phần này cho thấy rằng việc lọc các tệp hoặc thư mục bằng cách sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22 mang lại cảm giác trực quan hơn và trông gọn gàng hơn so với việc sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 kết hợp với with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
03Liệt kê các thư mục con
Để liệt kê các thư mục con thay vì tệp, hãy sử dụng một trong các phương pháp bên dưới. Đây là cách sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
80with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
8Thao tác với các đường dẫn hệ thống tệp theo cách này có thể nhanh chóng trở nên cồng kềnh khi bạn có nhiều lệnh gọi tới
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
81. Chạy cái này trên máy tính của tôi tạo ra đầu ra sauwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
9Đây là cách sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15import os
f = open[r'C:\Users\Directory\sample.txt']
80Như trong ví dụ liệt kê tệp, ở đây bạn gọi
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
83 trên mỗi mục được trả về bởi with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15. Nếu mục nhập là một thư mục, with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
83 trả về with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
69 và tên của thư mục được in ra. Đầu ra giống như trênwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
9Đây là cách sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22import os
f = open[r'C:\Users\Directory\sample.txt']
82Gọi
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
83 trên mỗi mục của trình vòng lặp with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
89 để kiểm tra xem mục đó có phải là tệp hoặc thư mục không. Nếu mục nhập là một thư mục, tên của nó sẽ được in ra màn hình và đầu ra được tạo giống với đầu ra trong ví dụ trướcwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
9Loại bỏ các quảng cáoLấy thuộc tính tệp
Python giúp truy xuất các thuộc tính tệp như kích thước tệp và thời gian sửa đổi dễ dàng. Điều này được thực hiện thông qua
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
90, with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 hoặc with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22 truy xuất danh sách thư mục với các thuộc tính tệp được kết hợp. Điều này có thể hiệu quả hơn so với việc sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 để liệt kê các tệp và sau đó nhận thông tin thuộc tính tệp cho từng tệpCác ví dụ dưới đây cho thấy cách lấy thời gian các tệp trong
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
28 được sửa đổi lần cuối. Đầu ra tính bằng giây>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
84with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
15 trả về một đối tượng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
25. Mỗi mục trong một đối tượng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
25 có một phương thức import os
f = open[r'C:\Users\Directory\sample.txt']
800 lấy thông tin về tệp hoặc thư mục mà nó trỏ tới. import os
f = open[r'C:\Users\Directory\sample.txt']
800 cung cấp thông tin như kích thước tệp và thời gian sửa đổi lần cuối. Trong ví dụ trên, mã in ra thuộc tính import os
f = open[r'C:\Users\Directory\sample.txt']
802, là thời gian nội dung của tệp được sửa đổi lần cuốiMô-đun
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 có các phương thức tương ứng để truy xuất thông tin tệp cho kết quả tương tự>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
85Trong ví dụ trên, mã lặp qua đối tượng được trả về bởi
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
35 và truy xuất các thuộc tính tệp thông qua lệnh gọi import os
f = open[r'C:\Users\Directory\sample.txt']
800 cho mỗi tệp trong danh sách thư mục. Thuộc tính import os
f = open[r'C:\Users\Directory\sample.txt']
802 trả về giá trị float đại diện cho giây kể từ kỷ nguyên. Để chuyển đổi các giá trị được trả về bởi import os
f = open[r'C:\Users\Directory\sample.txt']
802 cho mục đích hiển thị, bạn có thể viết hàm trợ giúp để chuyển đổi giây thành đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
808import os
f = open[r'C:\Users\Directory\sample.txt']
86Điều này trước tiên sẽ nhận được một danh sách các tệp trong
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
12 và các thuộc tính của chúng, sau đó gọi import os
f = open[r'C:\Users\Directory\sample.txt']
810 để chuyển đổi thời gian sửa đổi lần cuối của mỗi tệp thành dạng có thể đọc được của con người. import os
f = open[r'C:\Users\Directory\sample.txt']
810 sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
812 để chuyển đổi thời gian tính bằng giây thành một chuỗiCác đối số được chuyển đến
import os
f = open[r'C:\Users\Directory\sample.txt']
812 như sau
814. ngày của thángimport os f = open[r'C:\Users\Directory\sample.txt']
815. tháng, ở dạng viết tắtimport os f = open[r'C:\Users\Directory\sample.txt']
816. nămimport os f = open[r'C:\Users\Directory\sample.txt']
Cùng với nhau, các lệnh này tạo ra đầu ra trông như thế này
>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
87Cú pháp chuyển đổi ngày và giờ thành chuỗi có thể khá khó hiểu. Để đọc thêm về nó, hãy xem tài liệu chính thức về nó. Một tài liệu tham khảo hữu ích khác dễ nhớ là http. // strftime. tổ chức/
Tạo thư mục
Sớm hay muộn, các chương trình bạn viết sẽ phải tạo các thư mục để lưu trữ dữ liệu trong đó.
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
02 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 bao gồm các chức năng tạo thư mục. Chúng tôi sẽ xem xét nhữngChức năng Mô tả
import os
f = open[r'C:\Users\Directory\sample.txt']
819Tạo một thư mục con duy nhấtimport os
f = open[r'C:\Users\Directory\sample.txt']
820Tạo một hoặc nhiều thư mụcimport os
f = open[r'C:\Users\Directory\sample.txt']
821Tạo nhiều thư mục, bao gồm các thư mục trung gianTạo một thư mục duy nhất
Để tạo một thư mục, hãy chuyển đường dẫn đến thư mục dưới dạng tham số cho
import os
f = open[r'C:\Users\Directory\sample.txt']
819import os
f = open[r'C:\Users\Directory\sample.txt']
88Nếu một thư mục đã tồn tại,
import os
f = open[r'C:\Users\Directory\sample.txt']
819 tăng import os
f = open[r'C:\Users\Directory\sample.txt']
824. Ngoài ra, bạn có thể tạo thư mục bằng cách sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05import os
f = open[r'C:\Users\Directory\sample.txt']
89Nếu đường dẫn đã tồn tại,
import os
f = open[r'C:\Users\Directory\sample.txt']
826 sẽ tăng import os
f = open[r'C:\Users\Directory\sample.txt']
824>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
40Để tránh những lỗi như thế này, hãy nắm bắt lỗi khi nó xảy ra và cho người dùng của bạn biết
import os
f = open[r'C:\Users\Directory\sample.txt']
41Ngoài ra, bạn có thể bỏ qua
import os
f = open[r'C:\Users\Directory\sample.txt']
824 bằng cách chuyển đối số import os
f = open[r'C:\Users\Directory\sample.txt']
829 sang import os
f = open[r'C:\Users\Directory\sample.txt']
830import os
f = open[r'C:\Users\Directory\sample.txt']
42Điều này sẽ không gây ra lỗi nếu thư mục đã tồn tại
Loại bỏ các quảng cáoTạo nhiều thư mục
import os
f = open[r'C:\Users\Directory\sample.txt']
821 tương tự như import os
f = open[r'C:\Users\Directory\sample.txt']
819. Sự khác biệt giữa hai loại này là import os
f = open[r'C:\Users\Directory\sample.txt']
821 không chỉ có thể tạo các thư mục riêng lẻ mà còn có thể được sử dụng để tạo cây thư mục. Nói cách khác, nó có thể tạo bất kỳ thư mục trung gian cần thiết nào để đảm bảo tồn tại một đường dẫn đầy đủimport os
f = open[r'C:\Users\Directory\sample.txt']
821 tương tự như chạy import os
f = open[r'C:\Users\Directory\sample.txt']
835 trong Bash. Ví dụ: để tạo một nhóm các thư mục như import os
f = open[r'C:\Users\Directory\sample.txt']
836, tất cả những gì bạn phải làm là như sauimport os
f = open[r'C:\Users\Directory\sample.txt']
43Thao tác này sẽ tạo cấu trúc thư mục lồng nhau chứa các thư mục 2018, 10 và 05
import os
f = open[r'C:\Users\Directory\sample.txt']
44import os
f = open[r'C:\Users\Directory\sample.txt']
837 tạo thư mục với quyền mặc định. Nếu bạn cần tạo các thư mục với các quyền khác nhau, hãy gọi import os
f = open[r'C:\Users\Directory\sample.txt']
837 và chuyển sang chế độ bạn muốn các thư mục được tạo trongimport os
f = open[r'C:\Users\Directory\sample.txt']
45Điều này tạo cấu trúc thư mục
import os
f = open[r'C:\Users\Directory\sample.txt']
836 và cung cấp cho chủ sở hữu và nhóm người dùng quyền đọc, viết và thực thi. Chế độ mặc định là import os
f = open[r'C:\Users\Directory\sample.txt']
840 và các bit cấp phép tệp của các thư mục mẹ hiện có không bị thay đổi. Để biết thêm chi tiết về quyền đối với tệp và cách chế độ được áp dụng, hãy xem tài liệuChạy
import os
f = open[r'C:\Users\Directory\sample.txt']
841 để xác nhận rằng các quyền phù hợp đã được áp dụngimport os
f = open[r'C:\Users\Directory\sample.txt']
46Điều này in ra một cây thư mục của thư mục hiện tại.
import os
f = open[r'C:\Users\Directory\sample.txt']
841 thường được sử dụng để liệt kê nội dung của các thư mục ở định dạng giống như cây. Truyền các đối số import os
f = open[r'C:\Users\Directory\sample.txt']
843 và import os
f = open[r'C:\Users\Directory\sample.txt']
844 cho nó in ra tên thư mục và thông tin về quyền đối với tệp của chúng trong một danh sách dọc. import os
f = open[r'C:\Users\Directory\sample.txt']
843 in ra các quyền của tệp và import os
f = open[r'C:\Users\Directory\sample.txt']
844 làm cho import os
f = open[r'C:\Users\Directory\sample.txt']
841 tạo ra một danh sách dọc không có dòng thụt đầu dòngNhư bạn có thể thấy, tất cả các thư mục đều có quyền
import os
f = open[r'C:\Users\Directory\sample.txt']
848. Một cách khác để tạo thư mục là sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
830 từ import os
f = open[r'C:\Users\Directory\sample.txt']
850import os
f = open[r'C:\Users\Directory\sample.txt']
47Chuyển
import os
f = open[r'C:\Users\Directory\sample.txt']
851 đến import os
f = open[r'C:\Users\Directory\sample.txt']
852 để tạo thư mục import os
f = open[r'C:\Users\Directory\sample.txt']
853 và bất kỳ thư mục mẹ nào cần thiết để làm cho đường dẫn hợp lệTheo mặc định,
import os
f = open[r'C:\Users\Directory\sample.txt']
821 và import os
f = open[r'C:\Users\Directory\sample.txt']
852 tăng import os
f = open[r'C:\Users\Directory\sample.txt']
856 nếu thư mục đích đã tồn tại. Hành vi này có thể bị ghi đè [kể từ Python 3. 2] bằng cách chuyển import os
f = open[r'C:\Users\Directory\sample.txt']
829 làm đối số từ khóa khi gọi từng hàmChạy đoạn mã trên sẽ tạo ra một cấu trúc thư mục giống như bên dưới trong một lần
import os
f = open[r'C:\Users\Directory\sample.txt']
44Tôi thích sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 hơn khi tạo thư mục vì tôi có thể sử dụng chức năng tương tự để tạo các thư mục đơn hoặc lồng nhauKhớp mẫu tên tệp
Sau khi nhận được danh sách các tệp trong một thư mục bằng một trong các phương pháp trên, rất có thể bạn sẽ muốn tìm kiếm các tệp khớp với một mẫu cụ thể
Đây là những phương pháp và chức năng có sẵn cho bạn
- Các phương thức chuỗi
859 vàimport os f = open[r'C:\Users\Directory\sample.txt']
860import os f = open[r'C:\Users\Directory\sample.txt']
861import os f = open[r'C:\Users\Directory\sample.txt']
862import os f = open[r'C:\Users\Directory\sample.txt']
863import os f = open[r'C:\Users\Directory\sample.txt']
Mỗi cái được thảo luận dưới đây. Các ví dụ trong phần này sẽ được thực hiện trên thư mục có tên là
import os
f = open[r'C:\Users\Directory\sample.txt']
864 có cấu trúc như sauimport os
f = open[r'C:\Users\Directory\sample.txt']
49Nếu bạn đang theo dõi bằng cách sử dụng trình bao Bash, bạn có thể tạo cấu trúc thư mục trên bằng cách sử dụng các lệnh sau
import os
f = open[r'C:\Users\Directory\sample.txt']
60Thao tác này sẽ tạo thư mục
import os
f = open[r'C:\Users\Directory\sample.txt']
865, thay đổi thành thư mục đó và sau đó tạo import os
f = open[r'C:\Users\Directory\sample.txt']
866. Dòng tiếp theo tạo import os
f = open[r'C:\Users\Directory\sample.txt']
867 và import os
f = open[r'C:\Users\Directory\sample.txt']
868 trong import os
f = open[r'C:\Users\Directory\sample.txt']
866 và dòng cuối cùng tạo tất cả các tệp khác bằng cách sử dụng phần mở rộng. Để tìm hiểu thêm về mở rộng vỏ, hãy truy cập trang web nàyLoại bỏ các quảng cáoSử dụng các phương thức chuỗi
Python có một số phương thức tích hợp để sửa đổi và thao tác chuỗi. Hai trong số các phương pháp này,
import os
f = open[r'C:\Users\Directory\sample.txt']
870 và import os
f = open[r'C:\Users\Directory\sample.txt']
871, rất hữu ích khi bạn đang tìm kiếm các mẫu trong tên tệp. Để làm điều này, trước tiên hãy lấy một danh sách thư mục và sau đó lặp lại nó>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
61Đoạn mã trên tìm tất cả các tệp trong
import os
f = open[r'C:\Users\Directory\sample.txt']
865, lặp lại chúng và sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
871 để in ra tên tệp có phần mở rộng tệp import os
f = open[r'C:\Users\Directory\sample.txt']
874. Chạy cái này trên máy tính của tôi tạo ra đầu ra sauimport os
f = open[r'C:\Users\Directory\sample.txt']
62Khớp mẫu tên tệp đơn giản bằng cách sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
875
import os
f = open[r'C:\Users\Directory\sample.txt']
Các phương thức chuỗi bị hạn chế về khả năng kết hợp của chúng.
import os
f = open[r'C:\Users\Directory\sample.txt']
875 có nhiều chức năng và phương pháp nâng cao hơn để khớp mẫu. Chúng ta sẽ xem xét import os
f = open[r'C:\Users\Directory\sample.txt']
861, một hàm hỗ trợ sử dụng các ký tự đại diện như import os
f = open[r'C:\Users\Directory\sample.txt']
878 và import os
f = open[r'C:\Users\Directory\sample.txt']
879 để khớp với tên tệp. Ví dụ: để tìm tất cả các tệp import os
f = open[r'C:\Users\Directory\sample.txt']
874 trong một thư mục bằng cách sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
875, bạn sẽ thực hiện như sau>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
63Điều này lặp lại danh sách các tệp trong
import os
f = open[r'C:\Users\Directory\sample.txt']
864 và sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
883 để thực hiện tìm kiếm ký tự đại diện cho các tệp có phần mở rộng import os
f = open[r'C:\Users\Directory\sample.txt']
874So khớp mẫu nâng cao hơn
Giả sử bạn muốn tìm các tệp
import os
f = open[r'C:\Users\Directory\sample.txt']
874 đáp ứng các tiêu chí nhất định. Ví dụ: bạn có thể chỉ quan tâm đến việc tìm các tệp import os
f = open[r'C:\Users\Directory\sample.txt']
874 có chứa từ import os
f = open[r'C:\Users\Directory\sample.txt']
887, một số nằm giữa một tập hợp các dấu gạch dưới và từ import os
f = open[r'C:\Users\Directory\sample.txt']
888 trong tên tệp của chúng. Một cái gì đó tương tự như import os
f = open[r'C:\Users\Directory\sample.txt']
889, import os
f = open[r'C:\Users\Directory\sample.txt']
890 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
891Sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
861, bạn có thể làm theo cách này>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
64Tại đây, bạn chỉ in tên của các tệp khớp với mẫu
import os
f = open[r'C:\Users\Directory\sample.txt']
893. Dấu hoa thị trong mẫu sẽ khớp với bất kỳ ký tự nào, do đó, việc chạy này sẽ tìm thấy tất cả các tệp văn bản có tên tệp bắt đầu bằng từ import os
f = open[r'C:\Users\Directory\sample.txt']
887 và kết thúc bằng import os
f = open[r'C:\Users\Directory\sample.txt']
895, như bạn có thể thấy từ đầu ra bên dướiimport os
f = open[r'C:\Users\Directory\sample.txt']
65Khớp mẫu tên tệp bằng cách sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
896
import os
f = open[r'C:\Users\Directory\sample.txt']
Một mô-đun hữu ích khác để so khớp mẫu là
import os
f = open[r'C:\Users\Directory\sample.txt']
896import os
f = open[r'C:\Users\Directory\sample.txt']
898 trong mô-đun import os
f = open[r'C:\Users\Directory\sample.txt']
896 hoạt động giống như import os
f = open[r'C:\Users\Directory\sample.txt']
861, nhưng không giống như import os
f = open[r'C:\Users\Directory\sample.txt']
861, nó coi các tệp bắt đầu bằng dấu chấm [import os
f = open[r'C:\Users\Directory\sample.txt']
402] là đặc biệtUNIX và các hệ thống liên quan dịch các mẫu tên có ký tự đại diện như
import os
f = open[r'C:\Users\Directory\sample.txt']
879 và import os
f = open[r'C:\Users\Directory\sample.txt']
878 thành một danh sách các tệp. Điều này được gọi là toàn cầu hóaVí dụ: gõ ____2405 trong trình bao UNIX sẽ di chuyển [
import os
f = open[r'C:\Users\Directory\sample.txt']
406] tất cả các tệp có phần mở rộng _____2407 từ thư mục hiện tại sang thư mục ____2408. Ký tự import os
f = open[r'C:\Users\Directory\sample.txt']
878 là ký tự đại diện có nghĩa là “bất kỳ số lượng ký tự nào” và import os
f = open[r'C:\Users\Directory\sample.txt']
410 là mẫu hình cầu. Khả năng trình bao này không khả dụng trong Hệ điều hành Windows. Mô-đun import os
f = open[r'C:\Users\Directory\sample.txt']
896 bổ sung khả năng này trong Python, cho phép các chương trình Windows sử dụng tính năng nàyĐây là một ví dụ về cách sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
896 để tìm kiếm tất cả các tệp nguồn Python [import os
f = open[r'C:\Users\Directory\sample.txt']
407] trong thư mục hiện tại>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
66import os
f = open[r'C:\Users\Directory\sample.txt']
414 tìm kiếm tất cả các tệp có phần mở rộng import os
f = open[r'C:\Users\Directory\sample.txt']
407 trong thư mục hiện tại và trả về chúng dưới dạng danh sách. import os
f = open[r'C:\Users\Directory\sample.txt']
896 cũng hỗ trợ các ký tự đại diện kiểu shell để khớp các mẫu>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
67Điều này tìm thấy tất cả các tệp văn bản [
import os
f = open[r'C:\Users\Directory\sample.txt']
874] có chứa các chữ số trong tên tệpimport os
f = open[r'C:\Users\Directory\sample.txt']
62import os
f = open[r'C:\Users\Directory\sample.txt']
896 cũng giúp dễ dàng tìm kiếm các tệp theo cách đệ quy trong các thư mục con>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
69Ví dụ này sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
419 để tìm kiếm các tệp import os
f = open[r'C:\Users\Directory\sample.txt']
407 trong thư mục hiện tại và thư mục con. Truyền import os
f = open[r'C:\Users\Directory\sample.txt']
421 làm đối số cho import os
f = open[r'C:\Users\Directory\sample.txt']
422 làm cho nó tìm kiếm các tệp import os
f = open[r'C:\Users\Directory\sample.txt']
407 trong thư mục hiện tại và bất kỳ thư mục con nào. Sự khác biệt giữa import os
f = open[r'C:\Users\Directory\sample.txt']
419 và import os
f = open[r'C:\Users\Directory\sample.txt']
862 là import os
f = open[r'C:\Users\Directory\sample.txt']
422 trả về một trình vòng lặp thay vì một danh sáchChạy chương trình trên tạo ra như sau
import os
f = open[r'C:\Users\Directory\sample.txt']
80with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 chứa các phương pháp tương tự để tạo danh sách tệp linh hoạt. Ví dụ dưới đây cho thấy cách bạn có thể sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
428 để liệt kê các loại tệp bắt đầu bằng chữ cái import os
f = open[r'C:\Users\Directory\sample.txt']
429>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
81Gọi
import os
f = open[r'C:\Users\Directory\sample.txt']
430 trả về một đối tượng trình tạo trỏ đến tất cả các tệp trong thư mục hiện tại bắt đầu bằng chữ cái import os
f = open[r'C:\Users\Directory\sample.txt']
429 trong phần mở rộng tệp của chúngimport os
f = open[r'C:\Users\Directory\sample.txt']
432 tương tự như import os
f = open[r'C:\Users\Directory\sample.txt']
433 đã thảo luận ở trên. Như bạn có thể thấy, with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 kết hợp nhiều tính năng tốt nhất của các mô-đun ________ 502, ________ 503 và ________ 1896 thành một mô-đun duy nhất, điều này khiến bạn rất vui khi sử dụngTóm lại, đây là bảng các chức năng chúng tôi đã trình bày trong phần này
FunctionDescription
import os
f = open[r'C:\Users\Directory\sample.txt']
860Kiểm tra xem một chuỗi có bắt đầu với một mẫu cụ thể hay không và trả về with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
69 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
440import os
f = open[r'C:\Users\Directory\sample.txt']
859Kiểm tra xem một chuỗi có kết thúc với một mẫu cụ thể hay không và trả về with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
69 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
440import os
f = open[r'C:\Users\Directory\sample.txt']
444Kiểm tra xem tên tệp có khớp với mẫu đó hay không và trả về with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
69 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
440import os
f = open[r'C:\Users\Directory\sample.txt']
862Trả về danh sách các tên tệp khớp với một mẫuimport os
f = open[r'C:\Users\Directory\sample.txt']
863Tìm các mẫu trong tên đường dẫn Loại bỏ các quảng cáoDuyệt qua các thư mục và xử lý tệp
Một nhiệm vụ lập trình phổ biến là duyệt cây thư mục và xử lý các tệp trong cây. Hãy cùng khám phá cách hàm Python tích hợp sẵn
import os
f = open[r'C:\Users\Directory\sample.txt']
449 có thể được sử dụng để làm điều này. import os
f = open[r'C:\Users\Directory\sample.txt']
449 được sử dụng để tạo tên tệp trong cây thư mục bằng cách di chuyển cây từ trên xuống hoặc từ dưới lên. Với mục đích của phần này, chúng ta sẽ thao tác với cây thư mục sauimport os
f = open[r'C:\Users\Directory\sample.txt']
82Sau đây là một ví dụ chỉ cho bạn cách liệt kê tất cả các tệp và thư mục trong cây thư mục bằng cách sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
449import os
f = open[r'C:\Users\Directory\sample.txt']
449 mặc định duyệt qua các thư mục theo cách từ trên xuốngimport os
f = open[r'C:\Users\Directory\sample.txt']
83import os
f = open[r'C:\Users\Directory\sample.txt']
449 trả về ba giá trị trên mỗi lần lặp của vòng lặpTên của thư mục hiện tại
Một danh sách các thư mục trong thư mục hiện tại
Danh sách các tệp trong thư mục hiện tại
Trên mỗi lần lặp, nó in ra tên của các thư mục con và tệp mà nó tìm thấy
import os
f = open[r'C:\Users\Directory\sample.txt']
84Để duyệt qua cây thư mục theo cách từ dưới lên, hãy chuyển đối số từ khóa
import os
f = open[r'C:\Users\Directory\sample.txt']
454 cho import os
f = open[r'C:\Users\Directory\sample.txt']
449import os
f = open[r'C:\Users\Directory\sample.txt']
85Truyền đối số
import os
f = open[r'C:\Users\Directory\sample.txt']
454 sẽ làm cho import os
f = open[r'C:\Users\Directory\sample.txt']
449 in ra các tệp mà nó tìm thấy trong thư mục con trước tiênimport os
f = open[r'C:\Users\Directory\sample.txt']
86Như bạn có thể thấy, chương trình bắt đầu bằng cách liệt kê nội dung của các thư mục con trước khi liệt kê nội dung của thư mục gốc. Điều này rất hữu ích trong trường hợp bạn muốn xóa đệ quy các tệp và thư mục. Bạn sẽ học cách làm điều này trong các phần dưới đây. Theo mặc định,
import os
f = open[r'C:\Users\Directory\sample.txt']
458 không đi xuống các liên kết tượng trưng giải quyết các thư mục. Hành vi này có thể bị ghi đè bằng cách gọi nó bằng đối số import os
f = open[r'C:\Users\Directory\sample.txt']
459Tạo tập tin tạm thời và thư mục
Python cung cấp một mô-đun tiện dụng để tạo các tệp và thư mục tạm thời có tên là
import os
f = open[r'C:\Users\Directory\sample.txt']
460import os
f = open[r'C:\Users\Directory\sample.txt']
460 có thể được sử dụng để mở và lưu trữ dữ liệu tạm thời trong một tệp hoặc thư mục trong khi chương trình của bạn đang chạy. import os
f = open[r'C:\Users\Directory\sample.txt']
460 xử lý việc xóa các tệp tạm thời khi chương trình của bạn hoàn thành chúngĐây là cách tạo một tệp tạm thời
import os
f = open[r'C:\Users\Directory\sample.txt']
87Bước đầu tiên là nhập
import os
f = open[r'C:\Users\Directory\sample.txt']
463 từ mô-đun import os
f = open[r'C:\Users\Directory\sample.txt']
460. Tiếp theo, tạo một tệp giống như đối tượng bằng cách sử dụng phương thức import os
f = open[r'C:\Users\Directory\sample.txt']
465 bằng cách gọi nó và chuyển chế độ bạn muốn mở tệp trong đó. Điều này sẽ tạo và mở một tệp có thể được sử dụng làm vùng lưu trữ tạm thờiTrong ví dụ trên, chế độ là
import os
f = open[r'C:\Users\Directory\sample.txt']
466, khiến cho import os
f = open[r'C:\Users\Directory\sample.txt']
460 tạo một tệp văn bản tạm thời ở chế độ ghi. Không cần đặt tên tệp tạm thời vì nó sẽ bị hủy sau khi tập lệnh chạy xongSau khi ghi vào tệp, bạn có thể đọc từ tệp và đóng tệp khi xử lý xong. Sau khi đóng tệp, nó sẽ bị xóa khỏi hệ thống tệp. Nếu bạn cần đặt tên cho các tệp tạm thời được tạo bằng cách sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
460, hãy sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
469Các tệp và thư mục tạm thời được tạo bằng
import os
f = open[r'C:\Users\Directory\sample.txt']
460 được lưu trữ trong một thư mục hệ thống đặc biệt để lưu trữ các tệp tạm thời. Python tìm kiếm danh sách thư mục tiêu chuẩn để tìm danh sách mà người dùng có thể tạo tệp trong đóTrên Windows, các thư mục là
import os
f = open[r'C:\Users\Directory\sample.txt']
471, import os
f = open[r'C:\Users\Directory\sample.txt']
472, import os
f = open[r'C:\Users\Directory\sample.txt']
473 và import os
f = open[r'C:\Users\Directory\sample.txt']
474, theo thứ tự đó. Trên tất cả các nền tảng khác, các thư mục là import os
f = open[r'C:\Users\Directory\sample.txt']
475, import os
f = open[r'C:\Users\Directory\sample.txt']
476 và import os
f = open[r'C:\Users\Directory\sample.txt']
477, theo thứ tự đó. Phương án cuối cùng, import os
f = open[r'C:\Users\Directory\sample.txt']
460 sẽ lưu các tệp và thư mục tạm thời trong thư mục hiện tạiimport os
f = open[r'C:\Users\Directory\sample.txt']
479 cũng là một trình quản lý ngữ cảnh nên có thể sử dụng kết hợp với câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27. Sử dụng trình quản lý bối cảnh sẽ tự động đóng và xóa tệp sau khi đọc xongimport os
f = open[r'C:\Users\Directory\sample.txt']
88Thao tác này tạo một tệp tạm thời và đọc dữ liệu từ tệp đó. Ngay sau khi nội dung của tệp được đọc, tệp tạm thời sẽ bị đóng và bị xóa khỏi hệ thống tệp
import os
f = open[r'C:\Users\Directory\sample.txt']
460 cũng có thể được sử dụng để tạo các thư mục tạm thời. Hãy xem cách bạn có thể thực hiện việc này bằng cách sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
482>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
89Gọi
import os
f = open[r'C:\Users\Directory\sample.txt']
482 tạo một thư mục tạm thời trong hệ thống tệp và trả về một đối tượng đại diện cho thư mục này. Trong ví dụ trên, thư mục được tạo bằng trình quản lý ngữ cảnh và tên của thư mục được lưu trữ trong import os
f = open[r'C:\Users\Directory\sample.txt']
484. Dòng thứ ba in ra tên của thư mục tạm thời và import os
f = open[r'C:\Users\Directory\sample.txt']
485 xác nhận xem thư mục có thực sự được tạo trong hệ thống tệp hay khôngSau khi trình quản lý ngữ cảnh ra khỏi ngữ cảnh, thư mục tạm thời sẽ bị xóa và lệnh gọi tới
import os
f = open[r'C:\Users\Directory\sample.txt']
485 trả về import os
f = open[r'C:\Users\Directory\sample.txt']
440, điều đó có nghĩa là thư mục đã được xóa thành côngLoại bỏ các quảng cáoXóa tập tin và thư mục
Bạn có thể xóa các tệp, thư mục đơn lẻ và toàn bộ cây thư mục bằng cách sử dụng các phương thức có trong các mô-đun
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
02, with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04 và with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05. Các phần sau đây mô tả cách xóa các tệp và thư mục mà bạn không cần nữaXóa tệp trong Python
Để xóa một tệp, hãy sử dụng ________ 2491, ________ 2492. hoặc
import os
f = open[r'C:\Users\Directory\sample.txt']
493import os
f = open[r'C:\Users\Directory\sample.txt']
492 và import os
f = open[r'C:\Users\Directory\sample.txt']
493 giống hệt nhau về mặt ngữ nghĩa. Để xóa một tệp bằng cách sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
492, hãy làm như sauimport os
f = open[r'C:\Users\Directory\sample.txt']
40Xóa tệp bằng cách sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
493 tương tự như cách bạn thực hiện bằng cách sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
492import os
f = open[r'C:\Users\Directory\sample.txt']
41Gọi
import os
f = open[r'C:\Users\Directory\sample.txt']
499 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
600 trên một tệp sẽ xóa tệp khỏi hệ thống tệp. Hai hàm này sẽ tạo ra một import os
f = open[r'C:\Users\Directory\sample.txt']
856 nếu đường dẫn được truyền cho chúng trỏ đến một thư mục thay vì một tệp. Để tránh điều này, bạn có thể kiểm tra xem những gì bạn đang cố xóa có thực sự là một tệp hay không và chỉ xóa nó nếu đúng như vậy hoặc bạn có thể sử dụng xử lý ngoại lệ để xử lý import os
f = open[r'C:\Users\Directory\sample.txt']
856import os
f = open[r'C:\Users\Directory\sample.txt']
42with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
62 kiểm tra xem import os
f = open[r'C:\Users\Directory\sample.txt']
604 có thực sự là một tệp không. Nếu có, nó sẽ bị xóa bởi lệnh gọi tới import os
f = open[r'C:\Users\Directory\sample.txt']
492. Nếu import os
f = open[r'C:\Users\Directory\sample.txt']
604 trỏ đến một thư mục, thông báo lỗi sẽ được in ra bảng điều khiểnVí dụ sau đây cho thấy cách sử dụng xử lý ngoại lệ để xử lý lỗi khi xóa tệp
import os
f = open[r'C:\Users\Directory\sample.txt']
43Đoạn mã trên cố gắng xóa tệp trước khi kiểm tra loại tệp. Nếu
import os
f = open[r'C:\Users\Directory\sample.txt']
604 không thực sự là một tệp, thì import os
f = open[r'C:\Users\Directory\sample.txt']
856 được ném ra sẽ được xử lý trong mệnh đề import os
f = open[r'C:\Users\Directory\sample.txt']
609 và một thông báo lỗi sẽ được in ra bảng điều khiển. Thông báo lỗi được in ra được định dạng bằng Python f-stringsCuối cùng, bạn cũng có thể sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
491 để xóa tệpimport os
f = open[r'C:\Users\Directory\sample.txt']
44Điều này tạo ra một đối tượng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
31 có tên là import os
f = open[r'C:\Users\Directory\sample.txt']
604 trỏ đến một tệp. Gọi import os
f = open[r'C:\Users\Directory\sample.txt']
600 trên import os
f = open[r'C:\Users\Directory\sample.txt']
604 sẽ xóa import os
f = open[r'C:\Users\Directory\sample.txt']
615. Nếu import os
f = open[r'C:\Users\Directory\sample.txt']
604 trỏ đến một thư mục, một import os
f = open[r'C:\Users\Directory\sample.txt']
617 được nâng lên. Điều đáng chú ý là chương trình Python ở trên có cùng quyền với người dùng đang chạy nó. Nếu người dùng không có quyền xóa tệp, một import os
f = open[r'C:\Users\Directory\sample.txt']
618 sẽ xuất hiệnXóa thư mục
Thư viện chuẩn cung cấp các hàm sau để xóa thư mục
619import os f = open[r'C:\Users\Directory\sample.txt']
620import os f = open[r'C:\Users\Directory\sample.txt']
621import os f = open[r'C:\Users\Directory\sample.txt']
Để xóa một thư mục hoặc thư mục, hãy sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
619 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
623. Hai chức năng này chỉ hoạt động nếu thư mục bạn đang cố xóa trống. Nếu thư mục không trống, một import os
f = open[r'C:\Users\Directory\sample.txt']
856 sẽ xuất hiện. Đây là cách xóa một thư mụcimport os
f = open[r'C:\Users\Directory\sample.txt']
45Ở đây, thư mục
import os
f = open[r'C:\Users\Directory\sample.txt']
625 bị xóa bằng cách chuyển đường dẫn của nó tới import os
f = open[r'C:\Users\Directory\sample.txt']
619. Nếu thư mục không trống, một thông báo lỗi sẽ được in ra màn hình>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
46Ngoài ra, bạn có thể sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05 để xóa thư mụcimport os
f = open[r'C:\Users\Directory\sample.txt']
47Tại đây, bạn tạo một đối tượng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
31 trỏ đến thư mục cần xóa. Gọi import os
f = open[r'C:\Users\Directory\sample.txt']
629 trên đối tượng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
31 sẽ xóa nó nếu nó trốngLoại bỏ các quảng cáoXóa toàn bộ cây thư mục
Để xóa các thư mục không trống và toàn bộ cây thư mục, Python cung cấp
import os
f = open[r'C:\Users\Directory\sample.txt']
621import os
f = open[r'C:\Users\Directory\sample.txt']
48Mọi thứ trong
import os
f = open[r'C:\Users\Directory\sample.txt']
625 sẽ bị xóa khi import os
f = open[r'C:\Users\Directory\sample.txt']
621 được gọi trên đó. Có thể có trường hợp bạn muốn xóa các thư mục trống theo cách đệ quy. Bạn có thể thực hiện việc này bằng một trong các phương pháp được thảo luận ở trên cùng với import os
f = open[r'C:\Users\Directory\sample.txt']
449import os
f = open[r'C:\Users\Directory\sample.txt']
49Điều này đi xuống cây thư mục và cố gắng xóa từng thư mục mà nó tìm thấy. Nếu thư mục không trống, một
import os
f = open[r'C:\Users\Directory\sample.txt']
856 được nâng lên và thư mục đó bị bỏ qua. Bảng dưới đây liệt kê các chức năng được đề cập trong phần nàyChức năng Mô tả
import os
f = open[r'C:\Users\Directory\sample.txt']
492Xóa tệp và không xóa thư mụcimport os
f = open[r'C:\Users\Directory\sample.txt']
493Giống với import os
f = open[r'C:\Users\Directory\sample.txt']
492 và xóa một tệp duy nhấtimport os
f = open[r'C:\Users\Directory\sample.txt']
491Xóa tệp và không thể xóa thư mụcimport os
f = open[r'C:\Users\Directory\sample.txt']
619Xóa thư mục trốngimport os
f = open[r'C:\Users\Directory\sample.txt']
620Xóa thư mục trốngimport os
f = open[r'C:\Users\Directory\sample.txt']
621Xóa toàn bộ cây thư mục và có thể được sử dụng để xóa các thư mục không trốngSao chép, di chuyển và đổi tên tệp và thư mục
Python vận chuyển với mô-đun
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04. with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04 là viết tắt của tiện ích shell. Nó cung cấp một số thao tác cấp cao trên tệp để hỗ trợ sao chép, lưu trữ và xóa tệp và thư mục. Trong phần này, bạn sẽ học cách di chuyển và sao chép tệp và thư mụcSao chép tệp trong Python
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04 cung cấp một số chức năng để sao chép tệp. Các chức năng được sử dụng phổ biến nhất là import os
f = open[r'C:\Users\Directory\sample.txt']
646 và import os
f = open[r'C:\Users\Directory\sample.txt']
647. Để sao chép tệp từ vị trí này sang vị trí khác bằng cách sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
646, hãy làm như sauimport os
f = open[r'C:\Users\Directory\sample.txt']
60import os
f = open[r'C:\Users\Directory\sample.txt']
646 có thể so sánh với lệnh import os
f = open[r'C:\Users\Directory\sample.txt']
650 trong các hệ thống dựa trên UNIX. import os
f = open[r'C:\Users\Directory\sample.txt']
651 sẽ sao chép tệp import os
f = open[r'C:\Users\Directory\sample.txt']
652 vào vị trí được chỉ định trong import os
f = open[r'C:\Users\Directory\sample.txt']
653. Nếu import os
f = open[r'C:\Users\Directory\sample.txt']
653 là một tệp, nội dung của tệp đó sẽ được thay thế bằng nội dung của import os
f = open[r'C:\Users\Directory\sample.txt']
652. Nếu import os
f = open[r'C:\Users\Directory\sample.txt']
653 là một thư mục, thì import os
f = open[r'C:\Users\Directory\sample.txt']
652 sẽ được sao chép vào thư mục đó. import os
f = open[r'C:\Users\Directory\sample.txt']
646 chỉ sao chép nội dung của tệp và quyền của tệp. Các siêu dữ liệu khác như thời gian tạo và sửa đổi của tệp không được lưu giữĐể bảo toàn tất cả siêu dữ liệu của tệp khi sao chép, hãy sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
647import os
f = open[r'C:\Users\Directory\sample.txt']
61Việc sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
660 sẽ lưu giữ các chi tiết về tệp như thời gian truy cập lần cuối, bit quyền, thời gian sửa đổi lần cuối và cờSao chép thư mục
Trong khi
import os
f = open[r'C:\Users\Directory\sample.txt']
646 chỉ sao chép một tệp duy nhất, thì import os
f = open[r'C:\Users\Directory\sample.txt']
662 sẽ sao chép toàn bộ thư mục và mọi thứ chứa trong đó. import os
f = open[r'C:\Users\Directory\sample.txt']
663 có hai đối số. một thư mục nguồn và thư mục đích nơi các tệp và thư mục sẽ được sao chép vàoĐây là một ví dụ về cách sao chép nội dung của một thư mục sang một vị trí khác
>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
62Trong ví dụ này,
import os
f = open[r'C:\Users\Directory\sample.txt']
664 sao chép nội dung của import os
f = open[r'C:\Users\Directory\sample.txt']
665 đến một vị trí mới import os
f = open[r'C:\Users\Directory\sample.txt']
666 và trả về thư mục đích. Thư mục đích không được tồn tại. Nó sẽ được tạo cũng như các thư mục mẹ bị thiếu. import os
f = open[r'C:\Users\Directory\sample.txt']
662 là một cách tốt để sao lưu các tệp của bạnLoại bỏ các quảng cáoDi chuyển tập tin và thư mục
Để di chuyển tệp hoặc thư mục đến một vị trí khác, hãy sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
668import os
f = open[r'C:\Users\Directory\sample.txt']
652 là tệp hoặc thư mục sẽ được di chuyển và import os
f = open[r'C:\Users\Directory\sample.txt']
653 là đích>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
63import os
f = open[r'C:\Users\Directory\sample.txt']
671 di chuyển import os
f = open[r'C:\Users\Directory\sample.txt']
672 thành import os
f = open[r'C:\Users\Directory\sample.txt']
673 nếu có tồn tại import os
f = open[r'C:\Users\Directory\sample.txt']
673. Nếu import os
f = open[r'C:\Users\Directory\sample.txt']
673 không tồn tại, import os
f = open[r'C:\Users\Directory\sample.txt']
672 sẽ được đổi tên thành import os
f = open[r'C:\Users\Directory\sample.txt']
888Đổi tên tập tin và thư mục
Python bao gồm
import os
f = open[r'C:\Users\Directory\sample.txt']
678 để đổi tên tệp và thư mục>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
64Dòng trên sẽ đổi tên
import os
f = open[r'C:\Users\Directory\sample.txt']
679 thành import os
f = open[r'C:\Users\Directory\sample.txt']
680. Nếu đường dẫn đích trỏ đến một thư mục, nó sẽ tăng import os
f = open[r'C:\Users\Directory\sample.txt']
856Một cách khác để đổi tên tệp hoặc thư mục là sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
682 từ mô-đun with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
65Để đổi tên tệp bằng cách sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
05, trước tiên bạn tạo một đối tượng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
22 chứa đường dẫn đến tệp bạn muốn thay thế. Bước tiếp theo là gọi import os
f = open[r'C:\Users\Directory\sample.txt']
682 trên đối tượng đường dẫn và chuyển tên tệp mới cho tệp hoặc thư mục bạn đang đổi tênlưu trữ
Lưu trữ là một cách thuận tiện để đóng gói nhiều tệp thành một. Hai loại lưu trữ phổ biến nhất là ZIP và TAR. Các chương trình Python bạn viết có thể tạo, đọc và trích xuất dữ liệu từ kho lưu trữ. Bạn sẽ học cách đọc và ghi vào cả hai định dạng lưu trữ trong phần này
Đọc tệp ZIP
Mô-đun
import os
f = open[r'C:\Users\Directory\sample.txt']
687 là mô-đun cấp thấp, là một phần của Thư viện chuẩn Python. import os
f = open[r'C:\Users\Directory\sample.txt']
687 có các chức năng giúp bạn dễ dàng mở và giải nén các tệp ZIP. Để đọc nội dung của tệp ZIP, điều đầu tiên cần làm là tạo một đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
689. Các đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
689 tương tự như các đối tượng tệp được tạo bằng cách sử dụng with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
07. import os
f = open[r'C:\Users\Directory\sample.txt']
689 cũng là một trình quản lý bối cảnh và do đó hỗ trợ câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27import os
f = open[r'C:\Users\Directory\sample.txt']
66Tại đây, bạn tạo một đối tượng
import os
f = open[r'C:\Users\Directory\sample.txt']
689, chuyển vào tên của tệp ZIP để mở ở chế độ đọc. Sau khi mở tệp ZIP, thông tin về kho lưu trữ có thể được truy cập thông qua các chức năng được cung cấp bởi mô-đun import os
f = open[r'C:\Users\Directory\sample.txt']
687. Kho lưu trữ import os
f = open[r'C:\Users\Directory\sample.txt']
696 trong ví dụ trên được tạo từ thư mục có tên import os
f = open[r'C:\Users\Directory\sample.txt']
887 chứa tổng cộng 5 tệp và 1 thư mục conimport os
f = open[r'C:\Users\Directory\sample.txt']
67Để có danh sách các tệp trong kho lưu trữ, hãy gọi
import os
f = open[r'C:\Users\Directory\sample.txt']
698 trên đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
689import os
f = open[r'C:\Users\Directory\sample.txt']
68Điều này tạo ra một danh sách
import os
f = open[r'C:\Users\Directory\sample.txt']
69import os
f = open[r'C:\Users\Directory\sample.txt']
800 trả về danh sách tên của các tệp và thư mục trong kho lưu trữ. Để truy xuất thông tin về các tệp trong kho lưu trữ, hãy sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
801import os
f = open[r'C:\Users\Directory\sample.txt']
10Đây là đầu ra
import os
f = open[r'C:\Users\Directory\sample.txt']
11import os
f = open[r'C:\Users\Directory\sample.txt']
801 trả về một đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
803 lưu trữ thông tin về một thành viên của kho lưu trữ. Để lấy thông tin về một tệp trong kho lưu trữ, bạn chuyển đường dẫn của nó làm đối số cho import os
f = open[r'C:\Users\Directory\sample.txt']
801. Sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
805, bạn có thể truy xuất thông tin về các thành viên lưu trữ, chẳng hạn như ngày tệp được sửa đổi lần cuối, kích thước nén và tên tệp đầy đủ của chúng. Truy cập import os
f = open[r'C:\Users\Directory\sample.txt']
806 truy xuất kích thước ban đầu của tệp theo byteVí dụ sau đây cho thấy cách truy xuất thêm chi tiết về các tệp đã lưu trữ trong REPL của Python. Giả sử rằng mô-đun
import os
f = open[r'C:\Users\Directory\sample.txt']
687 đã được nhập và import os
f = open[r'C:\Users\Directory\sample.txt']
808 là cùng một đối tượng bạn đã tạo trong các ví dụ trước>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
12import os
f = open[r'C:\Users\Directory\sample.txt']
808 chứa thông tin chi tiết về import os
f = open[r'C:\Users\Directory\sample.txt']
810, chẳng hạn như kích thước của nó khi được nén và đường dẫn đầy đủ của nóDòng đầu tiên hiển thị cách truy xuất ngày sửa đổi cuối cùng của tệp. Dòng tiếp theo cho biết cách lấy kích thước của tệp sau khi nén. Dòng cuối cùng hiển thị đường dẫn đầy đủ của
import os
f = open[r'C:\Users\Directory\sample.txt']
810 trong kho lưu trữimport os
f = open[r'C:\Users\Directory\sample.txt']
689 hỗ trợ giao thức quản lý bối cảnh, đó là lý do tại sao bạn có thể sử dụng nó với câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27. Thao tác này sẽ tự động đóng đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
689 sau khi bạn thực hiện xong. Cố gắng mở hoặc trích xuất tệp từ đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
689 đã đóng sẽ gây ra lỗiLoại bỏ các quảng cáoGiải nén kho lưu trữ ZIP
Mô-đun
import os
f = open[r'C:\Users\Directory\sample.txt']
687 cho phép bạn trích xuất một hoặc nhiều tệp từ kho lưu trữ ZIP thông qua import os
f = open[r'C:\Users\Directory\sample.txt']
817 và import os
f = open[r'C:\Users\Directory\sample.txt']
818Các phương thức này trích xuất tệp vào thư mục hiện tại theo mặc định. Cả hai đều có một tham số
import os
f = open[r'C:\Users\Directory\sample.txt']
819 tùy chọn cho phép bạn chỉ định một thư mục khác để giải nén tệp vào. Nếu thư mục không tồn tại, nó sẽ tự động được tạo. Để giải nén các tệp từ kho lưu trữ, hãy làm như sau>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
13Dòng mã thứ ba là lệnh gọi tới
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14, cho biết thư mục hiện tại chỉ có một tệp, import os
f = open[r'C:\Users\Directory\sample.txt']
696Tiếp theo, bạn mở
import os
f = open[r'C:\Users\Directory\sample.txt']
696 ở chế độ đọc và gọi import os
f = open[r'C:\Users\Directory\sample.txt']
817 để trích xuất import os
f = open[r'C:\Users\Directory\sample.txt']
867 từ nó. import os
f = open[r'C:\Users\Directory\sample.txt']
817 trả về đường dẫn tệp đầy đủ của tệp được giải nén. Vì không có đường dẫn cụ thể, nên import os
f = open[r'C:\Users\Directory\sample.txt']
817 trích xuất import os
f = open[r'C:\Users\Directory\sample.txt']
867 vào thư mục hiện tạiDòng tiếp theo in danh sách thư mục cho biết thư mục hiện tại bao gồm tệp được giải nén ngoài kho lưu trữ gốc. Dòng sau đó cho biết cách trích xuất toàn bộ kho lưu trữ vào thư mục
import os
f = open[r'C:\Users\Directory\sample.txt']
828. import os
f = open[r'C:\Users\Directory\sample.txt']
818 tạo import os
f = open[r'C:\Users\Directory\sample.txt']
830 và trích xuất nội dung của import os
f = open[r'C:\Users\Directory\sample.txt']
696 vào đó. Dòng cuối cùng đóng kho lưu trữ ZIPTrích xuất dữ liệu từ kho lưu trữ được bảo vệ bằng mật khẩu
import os
f = open[r'C:\Users\Directory\sample.txt']
687 hỗ trợ giải nén các tệp ZIP được bảo vệ bằng mật khẩu. Để giải nén các tệp ZIP được bảo vệ bằng mật khẩu, hãy nhập mật khẩu vào phương thức import os
f = open[r'C:\Users\Directory\sample.txt']
817 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
818 làm đối số>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
14Thao tác này sẽ mở kho lưu trữ
import os
f = open[r'C:\Users\Directory\sample.txt']
835 ở chế độ đọc. Một mật khẩu được cung cấp cho import os
f = open[r'C:\Users\Directory\sample.txt']
818 và nội dung lưu trữ được trích xuất cho import os
f = open[r'C:\Users\Directory\sample.txt']
830. Kho lưu trữ được đóng tự động sau khi trích xuất hoàn tất nhờ câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27Tạo kho lưu trữ ZIP mới
Để tạo một kho lưu trữ ZIP mới, bạn mở một đối tượng
import os
f = open[r'C:\Users\Directory\sample.txt']
689 ở chế độ ghi [with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
09] và thêm các tệp bạn muốn lưu trữ>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
15Trong ví dụ,
import os
f = open[r'C:\Users\Directory\sample.txt']
841 được mở ở chế độ ghi và mỗi tệp trong import os
f = open[r'C:\Users\Directory\sample.txt']
842 được thêm vào kho lưu trữ. Khi bộ câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27 kết thúc, import os
f = open[r'C:\Users\Directory\sample.txt']
841 bị đóng. Mở tệp ZIP ở chế độ ghi sẽ xóa nội dung của kho lưu trữ và tạo một kho lưu trữ mớiĐể thêm tệp vào kho lưu trữ hiện có, hãy mở đối tượng
import os
f = open[r'C:\Users\Directory\sample.txt']
689 ở chế độ chắp thêm rồi thêm tệp>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
16Tại đây, bạn mở kho lưu trữ
import os
f = open[r'C:\Users\Directory\sample.txt']
846 mà bạn đã tạo trong ví dụ trước ở chế độ chắp thêm. Mở đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
689 ở chế độ chắp thêm cho phép bạn thêm tệp mới vào tệp ZIP mà không xóa nội dung hiện tại của tệp. Sau khi thêm tệp vào tệp ZIP, câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27 nằm ngoài ngữ cảnh và đóng tệp ZIPMở kho lưu trữ TAR
Tệp TAR là kho lưu trữ tệp không nén như ZIP. Chúng có thể được nén bằng các phương pháp nén gzip, bzip2 và lzma. Lớp
import os
f = open[r'C:\Users\Directory\sample.txt']
849 cho phép đọc và ghi các kho lưu trữ TARLàm điều này để đọc từ một kho lưu trữ
import os
f = open[r'C:\Users\Directory\sample.txt']
17Các đối tượng
import os
f = open[r'C:\Users\Directory\sample.txt']
850 mở giống như hầu hết các đối tượng giống như tệp. Chúng có hàm with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
07 có chế độ xác định cách mở tệpSử dụng các chế độ
import os
f = open[r'C:\Users\Directory\sample.txt']
852, import os
f = open[r'C:\Users\Directory\sample.txt']
853 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
854 để mở tệp TAR không nén để đọc, viết và nối thêm tương ứng. Để mở các tệp TAR đã nén, hãy chuyển đối số chế độ tới import os
f = open[r'C:\Users\Directory\sample.txt']
855 ở dạng import os
f = open[r'C:\Users\Directory\sample.txt']
856. Bảng bên dưới liệt kê các chế độ có thể mở tệp TAR trongModeAction
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
08Mở kho lưu trữ để đọc với nén trong suốtimport os
f = open[r'C:\Users\Directory\sample.txt']
858Mở kho lưu trữ để đọc với nén gzipimport os
f = open[r'C:\Users\Directory\sample.txt']
859Mở kho lưu trữ để đọc với nén bzip2import os
f = open[r'C:\Users\Directory\sample.txt']
860Mở kho lưu trữ để đọc với nén lzmawith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
09Mở kho lưu trữ để viết không nénimport os
f = open[r'C:\Users\Directory\sample.txt']
862Mở kho lưu trữ để viết nén gzipimport os
f = open[r'C:\Users\Directory\sample.txt']
863Mở kho lưu trữ để viết nén lzmaimport os
f = open[r'C:\Users\Directory\sample.txt']
864Mở kho lưu trữ để nối thêm mà không nénimport os
f = open[r'C:\Users\Directory\sample.txt']
865 mặc định ở chế độ import os
f = open[r'C:\Users\Directory\sample.txt']
852. Để đọc tệp TAR không nén và truy xuất tên của các tệp trong đó, hãy sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
867>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
18Điều này trả về một danh sách có tên của nội dung lưu trữ
Ghi chú. Với mục đích chỉ cho bạn cách sử dụng các phương thức đối tượng
import os
f = open[r'C:\Users\Directory\sample.txt']
850 khác nhau, tệp TAR trong các ví dụ được mở và đóng theo cách thủ công trong phiên REPL tương tácTương tác với tệp TAR theo cách này cho phép bạn xem đầu ra của việc chạy từng lệnh. Thông thường, bạn sẽ muốn sử dụng trình quản lý ngữ cảnh để mở các đối tượng giống như tệp
Siêu dữ liệu của mỗi mục trong kho lưu trữ có thể được truy cập bằng các thuộc tính đặc biệt
>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
19Trong ví dụ này, bạn lặp qua danh sách các tệp được trả về bởi
import os
f = open[r'C:\Users\Directory\sample.txt']
869 và in ra các thuộc tính của từng tệp. Các đối tượng được trả về bởi import os
f = open[r'C:\Users\Directory\sample.txt']
869 có các thuộc tính có thể được truy cập theo chương trình, chẳng hạn như tên, kích thước và thời gian sửa đổi lần cuối của từng tệp trong kho lưu trữ. Sau khi đọc hoặc ghi vào kho lưu trữ, nó phải được đóng lại để giải phóng tài nguyên hệ thốngGiải nén tệp từ kho lưu trữ TAR
Trong phần này, bạn sẽ tìm hiểu cách giải nén tệp từ kho lưu trữ TAR bằng các phương pháp sau
817import os f = open[r'C:\Users\Directory\sample.txt']
872import os f = open[r'C:\Users\Directory\sample.txt']
818import os f = open[r'C:\Users\Directory\sample.txt']
Để trích xuất một tệp từ kho lưu trữ TAR, hãy sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
874, chuyển tên tệp>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
30Tệp
import os
f = open[r'C:\Users\Directory\sample.txt']
875 được trích xuất từ kho lưu trữ vào hệ thống tệp. Gọi with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
14 xác nhận rằng tệp import os
f = open[r'C:\Users\Directory\sample.txt']
875 đã được giải nén thành công vào thư mục hiện tại. Để giải nén hoặc trích xuất mọi thứ từ kho lưu trữ, hãy sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
818>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
31import os
f = open[r'C:\Users\Directory\sample.txt']
818 có một đối số import os
f = open[r'C:\Users\Directory\sample.txt']
819 tùy chọn để chỉ định nơi các tệp được giải nén sẽ chuyển đến. Tại đây, kho lưu trữ được giải nén vào thư mục import os
f = open[r'C:\Users\Directory\sample.txt']
881. Các lệnh sau cho biết kho lưu trữ đã được trích xuất thành côngimport os
f = open[r'C:\Users\Directory\sample.txt']
32Để trích xuất một đối tượng tệp để đọc hoặc ghi, hãy sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
872, lấy tên tệp hoặc đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
883 để trích xuất làm đối số. import os
f = open[r'C:\Users\Directory\sample.txt']
872 trả về một đối tượng giống như tệp có thể được đọc và sử dụng>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
33Các kho lưu trữ đã mở phải luôn được đóng lại sau khi chúng đã được đọc hoặc ghi vào. Để đóng kho lưu trữ, hãy gọi
import os
f = open[r'C:\Users\Directory\sample.txt']
885 trên phần xử lý tệp lưu trữ hoặc sử dụng câu lệnh with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27 khi tạo đối tượng import os
f = open[r'C:\Users\Directory\sample.txt']
850 để tự động đóng kho lưu trữ khi bạn hoàn tất. Điều này giải phóng tài nguyên hệ thống và ghi bất kỳ thay đổi nào bạn đã thực hiện vào kho lưu trữ vào hệ thống tệpTạo kho lưu trữ TAR mới
Đây là cách bạn làm điều đó
>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
34Trước tiên, bạn tạo danh sách các tệp sẽ được thêm vào kho lưu trữ để bạn không phải thêm từng tệp theo cách thủ công
Dòng tiếp theo sử dụng trình quản lý ngữ cảnh
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27 để mở một kho lưu trữ mới có tên là import os
f = open[r'C:\Users\Directory\sample.txt']
889 ở chế độ ghi. Mở một kho lưu trữ ở chế độ ghi [import os
f = open[r'C:\Users\Directory\sample.txt']
853] cho phép bạn ghi các tệp mới vào kho lưu trữ. Mọi tệp hiện có trong kho lưu trữ sẽ bị xóa và một kho lưu trữ mới được tạoSau khi kho lưu trữ được tạo và điền, trình quản lý ngữ cảnh
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
27 sẽ tự động đóng và lưu vào hệ thống tệp. Ba dòng cuối cùng mở kho lưu trữ bạn vừa tạo và in ra tên của các tệp có trong đóĐể thêm tệp mới vào kho lưu trữ hiện có, hãy mở kho lưu trữ ở chế độ chắp thêm [
import os
f = open[r'C:\Users\Directory\sample.txt']
854]>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
35Mở một kho lưu trữ ở chế độ nối thêm cho phép bạn thêm các tệp mới vào đó mà không xóa các tệp đã có trong đó
Làm việc với kho lưu trữ nén
import os
f = open[r'C:\Users\Directory\sample.txt']
850 cũng có thể đọc và ghi các tệp lưu trữ TAR được nén bằng cách nén gzip, bzip2 và lzma. Để đọc hoặc ghi vào kho lưu trữ nén, hãy sử dụng import os
f = open[r'C:\Users\Directory\sample.txt']
855, chuyển sang chế độ thích hợp cho loại nénVí dụ: để đọc hoặc ghi dữ liệu vào kho lưu trữ TAR được nén bằng gzip, hãy sử dụng chế độ
import os
f = open[r'C:\Users\Directory\sample.txt']
895 hoặc import os
f = open[r'C:\Users\Directory\sample.txt']
896 tương ứng>>>
import os
f = open[r'C:\Users\Directory\sample.txt']
36Chế độ
import os
f = open[r'C:\Users\Directory\sample.txt']
896 mở kho lưu trữ để ghi nén gzip và import os
f = open[r'C:\Users\Directory\sample.txt']
895 mở kho lưu trữ để đọc nén gzip. Không thể mở kho lưu trữ đã nén ở chế độ chắp thêm. Để thêm tệp vào kho lưu trữ nén, bạn phải tạo một kho lưu trữ mớiMột cách dễ dàng hơn để tạo kho lưu trữ
Thư viện chuẩn Python cũng hỗ trợ tạo tệp lưu trữ TAR và ZIP bằng các phương thức cấp cao trong mô-đun
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04. Các tiện ích lưu trữ trong with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04 cho phép bạn tạo, đọc và giải nén các tệp lưu trữ ZIP và TAR. Các tiện ích này dựa trên các mô-đun import os
f = open[r'C:\Users\Directory\sample.txt']
850 và import os
f = open[r'C:\Users\Directory\sample.txt']
687 cấp thấp hơnLàm việc với kho lưu trữ bằng cách sử dụng
import os
f = open[r'C:\Users\Directory\sample.txt']
403import os
f = open[r'C:\Users\Directory\sample.txt']
403 nhận ít nhất hai đối số. tên của kho lưu trữ và định dạng lưu trữTheo mặc định, nó nén tất cả các tệp trong thư mục hiện tại thành định dạng lưu trữ được chỉ định trong đối số
import os
f = open[r'C:\Users\Directory\sample.txt']
405. Bạn có thể chuyển vào một đối số import os
f = open[r'C:\Users\Directory\sample.txt']
406 tùy chọn để nén các tệp trong một thư mục khác. import os
f = open[r'C:\Users\Directory\sample.txt']
407 hỗ trợ các định dạng lưu trữ import os
f = open[r'C:\Users\Directory\sample.txt']
408, import os
f = open[r'C:\Users\Directory\sample.txt']
409, import os
f = open[r'C:\Users\Directory\sample.txt']
410 và import os
f = open[r'C:\Users\Directory\sample.txt']
411Đây là cách tạo kho lưu trữ TAR bằng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
04import os
f = open[r'C:\Users\Directory\sample.txt']
37Điều này sao chép mọi thứ trong
import os
f = open[r'C:\Users\Directory\sample.txt']
413 và tạo một kho lưu trữ có tên là import os
f = open[r'C:\Users\Directory\sample.txt']
414 trong hệ thống tệp và trả về tên của nó. Để giải nén kho lưu trữ, hãy gọi import os
f = open[r'C:\Users\Directory\sample.txt']
415import os
f = open[r'C:\Users\Directory\sample.txt']
38Gọi
import os
f = open[r'C:\Users\Directory\sample.txt']
415 và chuyển vào tên lưu trữ và thư mục đích sẽ trích xuất nội dung của import os
f = open[r'C:\Users\Directory\sample.txt']
414 thành import os
f = open[r'C:\Users\Directory\sample.txt']
418. Lưu trữ ZIP có thể được tạo và trích xuất theo cách tương tựĐọc nhiều tệp
Python hỗ trợ đọc dữ liệu từ nhiều luồng đầu vào hoặc từ danh sách tệp thông qua mô-đun
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
06. Mô-đun này cho phép bạn lặp lại nội dung của một hoặc nhiều tệp văn bản một cách nhanh chóng và dễ dàng. Đây là cách điển hình mà with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
06 được sử dụngimport os
f = open[r'C:\Users\Directory\sample.txt']
39with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
06 nhận đầu vào từ các đối số dòng lệnh được chuyển đến import os
f = open[r'C:\Users\Directory\sample.txt']
422 theo mặc địnhSử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
06 để lặp qua nhiều tệpHãy sử dụng
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
06 để xây dựng một phiên bản thô của tiện ích UNIX chung import os
f = open[r'C:\Users\Directory\sample.txt']
425. Tiện ích import os
f = open[r'C:\Users\Directory\sample.txt']
425 đọc các tệp theo tuần tự, ghi chúng vào đầu ra tiêu chuẩn. Khi được cung cấp nhiều hơn một tệp trong các đối số dòng lệnh của nó, import os
f = open[r'C:\Users\Directory\sample.txt']
425 sẽ nối các tệp văn bản và hiển thị kết quả trong thiết bị đầu cuốiwith open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
00Chạy cái này trên hai tệp văn bản trong thư mục hiện tại của tôi sẽ tạo ra kết quả sau
with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
01with open['data.txt', 'w'] as f:
data = 'some data to be written to the file'
f.write[data]
06 cho phép bạn truy xuất thêm thông tin về từng dòng, chẳng hạn như đó có phải là dòng đầu tiên hay không [import os
f = open[r'C:\Users\Directory\sample.txt']
429], số dòng [import os
f = open[r'C:\Users\Directory\sample.txt']
430] và tên tệp [import os
f = open[r'C:\Users\Directory\sample.txt']
431]. Bạn có thể đọc thêm về nó ở đâyPhần kết luận
Bây giờ bạn đã biết cách sử dụng Python để thực hiện các thao tác phổ biến nhất trên tệp và nhóm tệp. Bạn đã tìm hiểu về các mô-đun tích hợp khác nhau được sử dụng để đọc, tìm và thao tác với chúng
Bây giờ bạn đã được trang bị để sử dụng Python để
- Nhận nội dung thư mục và thuộc tính tệp
- Tạo thư mục và cây thư mục
- Tìm các mẫu trong tên tệp
- Tạo tập tin và thư mục tạm thời
- Di chuyển, đổi tên, sao chép và xóa tệp hoặc thư mục
- Đọc và trích xuất dữ liệu từ các loại tài liệu lưu trữ khác nhau
- Đọc đồng thời nhiều tệp bằng cách sử dụng
06with open['data.txt', 'w'] as f: data = 'some data to be written to the file' f.write[data]
Đánh dấu là đã hoàn thành
Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Công thức thực tế để làm việc với tệp trong Python
🐍 Thủ thuật Python 💌
Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Gửi cho tôi thủ thuật Python »
Giới thiệu về Vuyisile Ndlovu
Nhà phát triển Django và người đam mê mã nguồn mở
» Tìm hiểu thêm về VuyisilMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là
David
Geir Arne
Joanna
Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực
Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia
Nâng cao kỹ năng Python của bạn »
Bạn nghĩ sao?
Đánh giá bài viết này
Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?
Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi