Đã trả lời ngày 13 tháng 12 năm 2018 lúc 14:09Feb 12, 2019 at 0:37
1
Windows:
import os
path = r'C:\yourpath'
os.startfile(path)
Nền tảng chéo:
Đã trả lời ngày 12 tháng 2 năm 2019 lúc 0:37Sep 18, 2021 at 14:15
import os
path = "C:\\Users"
def listdir(dir):
filenames = os.listdir(dir)
for files in filenames:
print(files)
listdir(path)
Phương pháp này là một phiên bản đơn giản hóa của câu trả lời được phê duyệt.
Đã trả lời ngày 18 tháng 9 năm 2021 lúc 14:15Aug 3, 2020 at 0:41
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Công thức nấu ăn thực tế để làm việc với các tệp trong Python This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Practical Recipes for Working With Files in Python
Làm cách nào để tìm một thư mục cụ thể trong Python?
Để tìm ra thư mục nào trong Python bạn hiện đang ở, hãy sử dụng phương thức getCwd (). CWD dành cho thư mục làm việc hiện tại trong Python. Điều này trả về đường dẫn của thư mục Python hiện tại như một chuỗi trong Python.
Làm cách nào để mở một thư mục trong Explorer bằng Python?
Để làm như vậy, chúng tôi phải nhập mô -đun FileDialog từ Tkinter. Mô -đun hộp thoại tệp sẽ giúp bạn mở, lưu tệp hoặc thư mục. Để mở một trình khám phá tệp, chúng ta phải sử dụng phương thức, AskOpenFileName ().
Python có một số mô-đun và chức năng tích hợp để xử lý các tệp. Các chức năng này được trải ra trên một số mô -đun như
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
03,
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
04,
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
05 và
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06, để đặt tên cho một số. Bài viết này tập hợp ở một nơi nhiều chức năng bạn cần biết để thực hiện các hoạt động phổ biến nhất trên các tệp trong Python.
Trong 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
Traverse Danh bạ cây
Tạo các tập tin và thư mục tạm thời
Xóa các tệp và thư mục
Sao chép, Di chuyển hoặc Đổi tên Tệp và Thư mục
withopen('data.txt','r')asf:data=f.read()
Tạo và trích xuất tài liệu lưu trữ zip và tar
withopen('data.txt','w')asf:data='some data to be written to the file'f.write(data)
Mở nhiều tệp bằng mô -đun
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
07
Python xông vào với Mở ra (phạm vi) như mô hình
Đọc và ghi dữ liệu vào các tệp bằng Python khá đơn giản. Để làm điều này, trước tiên bạn phải mở các tệp ở chế độ thích hợp. Ở đây, một ví dụ về cách sử dụng Python, với Mở (Mạnh) như mẫu của Google để mở một tệp văn bản và đọc nội dung của nó:
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
0
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
08 lấy tên tệp và chế độ làm đối số của nó.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
09 Mở tệp trong chế độ chỉ đọc. Để ghi dữ liệu vào một tệp, thay vào đó, hãy truyền vào
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
10 dưới dạng đối số: thay vào đó:
Trong các ví dụ ở trên, import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
08 mở các tệp để đọc hoặc ghi và trả về xử lý tệp (import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
12 trong trường hợp này) 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. Kiểm tra đọc và ghi các tệp trong Python và làm việc với tệp I/O trong Python để biết thêm thông tin về cách đọc và ghi vào các tệp.
Nhận một 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 gọi là
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
13 có nội dung sau:
Mô-đun
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
03 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ó đượ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 tin, hãy sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15 trong các phiên bản cũ của Python hoặc
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 trong Python 3.x.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 là phương pháp ưa thích để sử dụng nếu bạn cũng muốn lấy các thuộc tính tệp và thư mục như kích thước tệp và ngày sửa đổi.
Danh sách thư mục trong các phiên bản Python kế thừa
>>>
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
2
Một danh sách thư mục như thế không dễ đọc. In ra đầu ra của cuộc gọi đến
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15 bằng cách sử dụng vòng lặp giúp làm sạch mọi thứ:
>>>
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
3
Danh 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
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15 là sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 và
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 đã được giới thiệu trong Python 3.5 và được ghi lại trong PEP 471.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 trả về một trình lặp lại trái ngược với danh sách khi được gọi là:
>>>
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
4
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
26 chỉ vào tất cả các mục trong thư mục hiện tại. Bạn có thể lặp qua nội dung của trình lặp và in ra tên tệp:
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
5
Ở đây,
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 được sử dụng cùng với câu lệnh
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
28 vì nó hỗ trợ giao thức Trình quản lý ngữ cảnh. Sử dụng trình quản lý bối cảnh đóng trình lặp và giải phóng các tài nguyên có được sau khi trình lặp đã cạn kiệt. Kết quả là một bản in ra khỏi tên tệp trong
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
29 giống như bạn đã thấy trong ví dụ
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15:
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
6
Một cách khác để có được danh sách thư mục là sử dụng mô -đun
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06:
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
7
Các đối tượng được trả về bởi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
32 là các đối tượng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
33 hoặc
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
34 tùy thuộc vào HĐH.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23 Đối tượng có phương thức
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
36 để tạo trình 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 được mang lại bởi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
36 chứa thông tin về tệp hoặc thư mục như tên và thuộc tính tệp của nó.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 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ập tin.
Trong ví dụ trên, bạn gọi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23 và chuyển một đối số đường dẫn cho nó. Tiếp theo là cuộc gọi đến
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
36 để có được danh sách tất cả các tệp và thư mục trong
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
13.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 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 một cách dễ dàng, hướng đối tượng. Sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 sẽ nhiều hơn nếu không hiệu quả như nhau như sử dụng các chức năng trong
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
03. Một lợi ích khác của việc sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 trên
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
03 là nó giảm số lượng nhập khẩu bạn cần thực hiện để thao tác với các đường dẫn hệ thống tập tin. Để biết thêm thông tin, hãy đọc mô -đun Python 3 Pathlib: Taming hệ thống tệp.
Chạy mã ở trên tạo ra những điều sau:
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
6
Sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23 hoặc
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 thay vì
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15 là cách ưa thích để nhận danh sách thư mục, đặc biệt là khi bạn làm việc với mã cần loại tệp và thông tin thuộc tính tệp.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23 cung cấp nhiều chức năng xử lý tệp và đường dẫn được tìm thấy trong
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
03 và
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
05, và 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ẽ thảo luận về cách lấy thuộc tính tệp trong thời gian ngắn.
Dưới đây là các chức năng liệt kê thư mục một lần nữa:
Hàm số
Sự mô tả
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15
Trả về danh sách tất cả các tệp và thư mục trong một thư mục
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16
Trả về trình 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ệp
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
55
Trả về trình 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ệp
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
55
Các chức năng này trả về một 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.
Liệt kê tất cả các tệp trong một thư mục
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
9
Phần này sẽ chỉ cho bạn cách in tên của các tệp trong thư mục bằng cách sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15,
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 và
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23. Để lọc các thư mục và chỉ liệt kê các tệp từ danh sách thư mục được tạo bởi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15, hãy sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
04:
import os
os.system(f'start {os.path.realpath(path)}')
0
Tại đây, cuộc gọi đến
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15 trả về một danh sách mọi thứ trong đường dẫn được chỉ định và sau đó danh sách đó được lọc bởi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
62 để chỉ in ra các tệp và không phải thư mục. Điều này tạo ra đầu ra sau:
import os
os.system(f'start {os.path.realpath(path)}')
1
Cách dễ dàng hơn để liệt kê các tệp trong thư mục là sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 hoặc
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23:
import os
os.system(f'start {os.path.realpath(path)}')
0
Sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 có lợi thế là trông sạch hơn và dễ hiểu hơn là sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15, mặc dù nó là một dòng mã dài hơn. Gọi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
67 trên mỗi mục trong
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
26 trả về
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
69 nếu đối tượng là một tệp. In tên của tất cả các tệp trong thư mục cung cấp cho bạn đầu ra sau:
Tại đây, cách liệt kê các tệp trong một thư mục bằng cách sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23:
import os
os.system(f'start {os.path.realpath(path)}')
3
import os
os.system(f'start {os.path.realpath(path)}')
0
Tại đây, bạn gọi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
71 trên mỗi mục được mang lại bởi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
36. Đầu ra được tạo ra là như nhau:
Phiên bản sửa đổi trông như thế này:
import os
os.system(f'start {os.path.realpath(path)}')
5
Đ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 sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 và
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23 cảm thấy trực quan hơn và trông sạch hơn so với việc sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15 kết hợp với
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
04.
Liệt kê các thư mục con
Để liệt kê các thư mục con thay vì các tệp, hãy sử dụng một trong các phương thức dưới đây. Tại đây, cách sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15 và
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
80:
import os
os.system(f'start {os.path.realpath(path)}')
6
Thao tác với các đường dẫn hệ thống tập tin theo cách này có thể nhanh chóng trở nên cồng kềnh khi bạn có nhiều cuộc gọi đến
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
81. Chạy cái này trên máy tính của tôi tạo ra đầu ra sau:
import os
os.system(f'start {os.path.realpath(path)}')
7
Đây là cách sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16:
import os
os.system(f'start {os.path.realpath(path)}')
8
Như trong ví dụ liệt kê tệp, ở đây bạn gọi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
83 trên mỗi mục được trả về bởi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16. Nếu mục nhập là một thư mục,
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
83 trả về
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
69 và tên thư mục được in ra. Đầu ra giống như trên:
import os
os.system(f'start {os.path.realpath(path)}')
7
Tại đây, cách sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
83 trên mỗi mục nhập của trình lặp
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
89 kiểm tra xem một mục nhập là một tệp hoặc một thư mục. Nếu mục nhập là một thư mục, tên của nó được in ra màn hình và đầu ra được tạo ra giống như tên của ví dụ trước:
import os
os.system(f'start {os.path.realpath(path)}')
7
Nhận thuộc tính tệp
Python làm cho việc 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 trở nên dễ dàng. Điều này được thực hiện thông qua
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
90,
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 hoặc
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 và
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
23 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ể có khả năng hiệu quả hơn so với sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
15 để liệt kê các tệp và sau đó nhận thông tin thuộc tính tệp cho mỗi tệp.
Các ví dụ dưới đây cho thấy cách lấy thời gian các tệp trong
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
29 đã được sửa đổi lần cuối. Đầu ra là trong vài giây:
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
16 Trả về một đối tượng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
26. Mỗi mục nhập trong một đối tượng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
26 có phương thức
import os
os.system(f'start {os.path.realpath(path)}')
00 lấy thông tin về tệp hoặc thư mục mà nó trỏ đến.
import os
os.system(f'start {os.path.realpath(path)}')
00 cung cấp thông tin như kích thước tệp và thời gian sửa đổi cuối cùng. Trong ví dụ trên, mã in ra thuộc tính
import os
os.system(f'start {os.path.realpath(path)}')
02, đó là thời gian nội dung của tệp được sửa đổi lần cuối.
Mô -đun import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 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ự:
Trong ví dụ trên, mã các vòng lặp qua đối tượng được trả về bởi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
36 và truy xuất các thuộc tính tệp thông qua cuộc gọi
import os
os.system(f'start {os.path.realpath(path)}')
00 cho mỗi tệp trong danh sách thư mục. Thuộc tính
import os
os.system(f'start {os.path.realpath(path)}')
02 trả về giá trị nổi đại diện cho giây kể từ thời đại. Để chuyển đổi các giá trị được trả về bởi
import os
os.system(f'start {os.path.realpath(path)}')
02 cho mục đích hiển thị, bạn có thể viết hàm trợ giúp để chuyển đổi các giây thành đối tượng
import os
os.system(f'start {os.path.realpath(path)}')
08:
Điều này trước tiên sẽ nhận được một danh sách các tệp trong
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
13 và các thuộc tính của chúng và sau đó gọi
import os
os.system(f'start {os.path.realpath(path)}')
10 để chuyển đổi từng tệp thời gian sửa đổi lần cuối thành một dạng đọc được.
import os
os.system(f'start {os.path.realpath(path)}')
10 Sử dụng
import os
os.system(f'start {os.path.realpath(path)}')
12 để chuyển đổi thời gian tính bằng giây thành một chuỗi.
Các đối số được chuyển đến
import os
os.system(f'start {os.path.realpath(path)}')
12 như sau:
import os
os.system(f'start {os.path.realpath(path)}')
14: Ngày của tháng
import os
os.system(f'start {os.path.realpath(path)}')
15: Tháng, ở dạng viết tắt
import os
os.system(f'start {os.path.realpath(path)}')
16: Năm
Cùng nhau, các chỉ thị này tạo ra đầu ra trông như thế này:
Cú pháp để chuyển đổi ngày và thời gian 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 tiện dụng khác dễ nhớ là http://strftime.org/.
Làm 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 đó. import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
03 và import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 bao gồm các chức năng để tạo thư mục. Chúng tôi sẽ xem xét những điều này:
Trong ví dụ trên, mã các vòng lặp qua đối tượng được trả về bởi
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
36 và truy xuất các thuộc tính tệp thông qua cuộc gọi
import os
os.system(f'start {os.path.realpath(path)}')
00 cho mỗi tệp trong danh sách thư mục. Thuộc tính
import os
os.system(f'start {os.path.realpath(path)}')
02 trả về giá trị nổi đại diện cho giây kể từ thời đại. Để chuyển đổi các giá trị được trả về bởi
import os
os.system(f'start {os.path.realpath(path)}')
02 cho mục đích hiển thị, bạn có thể viết hàm trợ giúp để chuyển đổi các giây thành đối tượng
import os
os.system(f'start {os.path.realpath(path)}')
08:
Điều này trước tiên sẽ nhận được một danh sách các tệp trong import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
13 và các thuộc tính của chúng và sau đó gọi import os
os.system(f'start {os.path.realpath(path)}')
10 để chuyển đổi từng tệp thời gian sửa đổi lần cuối thành một dạng đọc được. import os
os.system(f'start {os.path.realpath(path)}')
10 Sử dụng import os
os.system(f'start {os.path.realpath(path)}')
12 để chuyển đổi thời gian tính bằng giây thành một chuỗi.
Các đối số được chuyển đến
import os
os.system(f'start {os.path.realpath(path)}')
12 như sau:
import os
os.system(f'start {os.path.realpath(path)}')
21 tương tự như chạy
import os
os.system(f'start {os.path.realpath(path)}')
35 trong bash. Ví dụ: để tạo một nhóm các thư mục như
import os
os.system(f'start {os.path.realpath(path)}')
import os
os.system(f'start {os.path.realpath(path)}')
36 và cung cấp cho chủ sở hữu và người dùng nhóm đọc, viết và thực hiện các quyền. Chế độ mặc định là
import os
os.system(f'start {os.path.realpath(path)}')
40 và các bit cho phép tệp của các thư mục mẹ hiện tại không được thay đổi. Để biết thêm chi tiết về quyền tệp và cách áp dụng chế độ, hãy xem tài liệu.
Chạy
import os
os.system(f'start {os.path.realpath(path)}')
41 để xác nhận rằng các quyền phù hợp đã được áp dụng:
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 khi tạo thư mục vì tôi có thể sử dụng cùng một chức năng để tạo các thư mục đơn hoặc lồng nhau.
Kết hợp mẫu 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 thức ở trên, rất có thể bạn sẽ muốn tìm kiếm các tệp phù hợp với một mẫu cụ thể.
Đây là các phương pháp và chức năng có sẵn cho bạn:
import os
os.system(f'start {os.path.realpath(path)}')
59 và
import os
os.system(f'start {os.path.realpath(path)}')
60 Phương thức chuỗi
import os
os.system(f'start {os.path.realpath(path)}')
61
import os
os.system(f'start {os.path.realpath(path)}')
62
import os
os.system(f'start {os.path.realpath(path)}')
63
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 một thư mục gọi là
import os
os.system(f'start {os.path.realpath(path)}')
49 được sử dụng để tạo tên tệp trong cây thư mục bằng cách đi bộ trên cây từ trên xuống hoặc từ dưới lên. Đối với mục đích của phần này, chúng tôi sẽ thao túng cây thư mục sau:
Sau đây là một ví dụ cho bạn biết 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
60 tạo một tệp văn bản tạm thời ở chế độ ghi. Không cần phải cung cấp cho tệp tạm thời một tên tệp vì nó sẽ bị phá hủy sau khi tập lệnh được thực hiện.
Sau khi ghi vào tệp, bạn có thể đọc từ nó và đóng nó khi bạn xử lý xong. Khi tệp được đóng, nó sẽ bị xóa khỏi hệ thống tập tin. Nếu bạn cần đặt tên cho các tệp tạm thời được tạo bằng
60 được lưu trữ trong 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 một danh sách tiêu chuẩn các thư mục để tìm một danh sách mà người dùng có thể tạo tệp.
82 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 cách sử dụng trình quản lý ngữ cảnh và tên của thư mục được lưu trữ trong
00 trên một tệp xóa tệp khỏi hệ thống tập tin. Hai chức năng này sẽ ném
import os
os.system(f'start {os.path.realpath(path)}')
56 nếu đường dẫn được truyền cho chúng chỉ vào 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ố gắng xóa có thực sự là một tệp không và chỉ xóa nó nếu có, hoặc bạn có thể sử dụng xử lý ngoại lệ để xử lý
import os
os.system(f'start {os.path.realpath(path)}')
56:
import os
path = "C:\\Users"
def listdir(dir):
filenames = os.listdir(dir)
for files in filenames:
print(files)
listdir(path)
0
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
17 sẽ được nâng lên. Điều đáng chú ý là chương trình Python ở trên có các quyền tương tự như người dùng đang chạy nó. Nếu người dùng không có quyền xóa tệp,
21 được gọi trên nó. Có thể có những trường hợp bạn muốn xóa các thư mục trống một cách đệ quy. Bạn có thể làm điều này bằng cách sử dụng một trong các phương thức được thảo luận ở trên kết hợp với
Xó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ống
Sao chép, di chuyển và đổi tên các tập tin và thư mục
Tàu Python với mô -đun import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
05. import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
05 là viết tắt của các tiện ích vỏ. Nó cung cấp một số hoạt động cấp cao trên các tệp để hỗ trợ sao chép, lưu trữ và xóa các 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 các tệp và thư mục.
Sao chép các tệp trong Python
import os
path = "C:\\Users"
def listdir(dir):
filenames = os.listdir(dir)
for files in filenames:
print(files)
listdir(path)
8
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
05 cung cấp một vài chức năng để sao chép các tệp. Các chức năng được sử dụng phổ biến nhất là
Sử dụng subprocess.run(['explorer', os.path.realpath(path)])
60 Bảo tồn chi tiết về tệp như thời gian truy cập cuối cùng, bit quyền, thời gian sửa đổi cuối cùng và cờ.
63 lấy hai đối số: thư mục nguồn và thư mục đích trong đó các tệp và thư mục sẽ được sao chép.
>>>
withopen('data.txt','r')asf:data=f.read()
0
Ngoài ra, bạn có thể sử dụng
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 để xóa các thư mục:
Ở đây, bạn tạo một đối tượng import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
32 trỏ đến thư mục sẽ bị xóa. Gọi subprocess.run(['explorer', os.path.realpath(path)])
29 trên đối tượng import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
32 sẽ xóa nó nếu nó trống.
Xó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 webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
06 để xóa các thư mục:
Ở đây, bạn tạo một đối tượng import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
32 trỏ đến thư mục sẽ bị xóa. Gọi subprocess.run(['explorer', os.path.realpath(path)])
29 trên đối tượng import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
32 sẽ xóa nó nếu nó trống.
Xóa toàn bộ cây thư mục
>>>
withopen('data.txt','r')asf:data=f.read()
2
Để xóa các thư mục không trống và toàn bộ cây thư mục, Python cung cấp
21 được gọi trên nó. Có thể có những trường hợp bạn muốn xóa các thư mục trống một cách đệ quy. Bạn có thể làm điều này bằng cách sử dụng một trong các phương thức được thảo luận ở trên kết hợp với
Đ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
os.system(f'start {os.path.realpath(path)}')
56 sẽ đượ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ày:
Lưu trữ
Lưu trữ là một cách thuận tiện để đóng gói một số 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ừ 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.
89, chuyển 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
03 lưu trữ thông tin về một thành viên duy nhất của kho lưu trữ. Để có được thông tin về một tệp trong kho lưu trữ, bạn chuyển đường dẫn của nó như một đối số cho
05, bạn có thể truy xuất thông tin về các thành viên lưu trữ như ngày các 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
10 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 cho thấy cách truy xuất một tập tin ngày sửa đổi cuối cùng. Dòng tiếp theo cho thấy cách lấy kích thước của tệp sau khi nén. Dòng cuối cùng cho thấy đường dẫn đầy đủ của
10 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 cho thấy cách truy xuất một tập tin ngày sửa đổi cuối cùng. Dòng tiếp theo cho thấy cách lấy kích thước của tệp sau khi nén. Dòng cuối cùng cho thấy đường dẫn đầy đủ của
10 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 cho thấy cách truy xuất một tập tin ngày sửa đổi cuối cùng. Dòng tiếp theo cho thấy cách lấy kích thước của tệp sau khi nén. Dòng cuối cùng cho thấy đường dẫn đầy đủ của import webbrowser
path = 'C:/Users'
webbrowser.open('file:///' + path)
10 trong kho lưu trữ.
45 có các thuộc tính có thể được truy cập theo chương trình như tên, kích thước và thời gian sửa đổi cuối cùng của mỗi tệp trong kho lưu trữ. Sau khi đọc hoặc viết vào kho lưu trữ, nó phải được đóng để giải phóng các tài nguyên hệ thống.
>>>
withopen('data.txt','w')asf:data='some data to be written to the file'f.write(data)
5
Điều này trả về một danh sách với tên của nội dung lưu trữ.
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:
Trong ví dụ này, bạn lặp qua danh sách các tệp được trả về bởi
45 có các thuộc tính có thể được truy cập theo chương trình như tên, kích thước và thời gian sửa đổi cuối cùng của mỗi tệp trong kho lưu trữ. Sau khi đọc hoặc viết vào kho lưu trữ, nó phải được đóng để giải phóng các tài nguyên hệ thống.
Tạo tài liệu lưu trữ tar mới
>>>
withopen('data.txt','w')asf:data='some data to be written to the file'f.write(data)
6
Điều này trả về một danh sách với tên của nội dung lưu trữ.
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:
Trong ví dụ này, bạn lặp qua danh sách các tệp được trả về bởi
45 có các thuộc tính có thể được truy cập theo chương trình như tên, kích thước và thời gian sửa đổi cuối cùng của mỗi tệp trong kho lưu trữ. Sau khi đọc hoặc viết vào kho lưu trữ, nó phải được đóng để giải phóng các tài nguyên hệ thống.
Tạo tài liệu lưu trữ tar mới
>>>
withopen('data.txt','w')asf:data='some data to be written to the file'f.write(data)
7
Điều này trả về một danh sách với tên của nội dung lưu trữ.
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:
Trong ví dụ này, bạn lặp qua danh sách các tệp được trả về bởi
45 có các thuộc tính có thể được truy cập theo chương trình như tên, kích thước và thời gian sửa đổi cuối cùng của mỗi tệp trong kho lưu trữ. Sau khi đọc hoặc viết vào kho lưu trữ, nó phải được đóng để giải phóng các tài nguyên hệ thống.
Tạo tài liệu lưu trữ tar mới
Đây là cách bạn làm điều đó:
Đầu tiên, bạn lập một danh sách các tệp đượ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ý bối cảnh
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
48 ở chế độ ghi. Mở một kho lưu trữ trong chế độ ghi (____ 530) cho phép bạn viết các tệp mới vào kho lưu trữ. Bất kỳ tệp hiện có trong kho lưu trữ đều bị xóa và một kho lưu trữ mới được tạo.
withopen('data.txt','w')asf:data='some data to be written to the file'f.write(data)
8
Sau khi kho lưu trữ được tạo và điền, trình quản lý bối cảnh
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
28 tự động đóng nó và lưu nó vào hệ thống tập tin. 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 đó.
withopen('data.txt','w')asf:data='some data to be written to the file'f.write(data)
9
Để thêm các tệp mới vào kho lưu trữ hiện có, hãy mở kho lưu trữ ở chế độ phụ trợ (
54 mở kho lưu trữ để đọc nén GZIP. Mở tài liệu lưu trữ nén trong chế độ nối là không thể. Để thêm các tệp vào kho lưu trữ nén, bạn phải tạo một kho lưu trữ mới.
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
01
Một cách dễ dàng hơn để tạo tài liệu lưu trữ
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
02
Thư viện tiêu chuẩn Python cũng hỗ trợ tạo tài liệu lưu trữ TAR và ZIP bằng các phương thức cấp cao trong mô-đun
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
05. Các tiện ích lưu trữ trong
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
05 cho phép bạn tạo, đọc và trích xuất tài liệu lưu trữ zip và tar. Các tiện ích này dựa vào các mô -đun cấp thấp hơn
Bây giờ bạn đã biết cách sử dụng Python để thực hiện các hoạt động phổ biến nhất trên các tệp và nhóm tệp. Bạn đã học về các mô-đun tích hợp khác nhau được sử dụng để đọc, tìm và thao tác 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 các tệp và thư mục tạm thời
Di chuyển, đổi tên, sao chép và xóa các 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
import webbrowser, os
path="C:/Users"
webbrowser.open(os.path.realpath(path))
07
Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem cùng với hướng dẫn bằng văn bản để hiểu sâu hơn về sự hiểu biết của bạn: Công thức nấu ăn thực tế để làm việc với các tệp trong Python This tutorial has a related video course created by the Real Python team. Watch it together
with the written tutorial to deepen your understanding: Practical Recipes for Working With Files in Python
Làm cách nào để tìm một thư mục cụ thể trong Python?
Để tìm ra thư mục nào trong Python bạn hiện đang ở, hãy sử dụng phương thức getCwd (). CWD dành cho thư mục làm việc hiện tại trong Python. Điều này trả về đường dẫn của thư mục Python hiện tại như một chuỗi trong Python.use the getcwd() method. Cwd is for current working directory in python. This returns the path of the current python directory as a string in Python.
Làm cách nào để mở một thư mục trong Explorer bằng Python?
Để làm như vậy, chúng tôi phải nhập mô -đun FileDialog từ Tkinter.Mô -đun hộp thoại tệp sẽ giúp bạn mở, lưu tệp hoặc thư mục.Để mở một trình khám phá tệp, chúng ta phải sử dụng phương thức, AskOpenFileName ().import the filedialog module from Tkinter. The File dialog module will help you open, save files or directories. In order to open a file explorer, we have to use the method, askopenfilename().