Giả sử ngày
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
3 là một tệp có tên tương ứng. Sau đó, bạn có thể sử dụng C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
4:start = "C:\\Users\\abc\\"
for dirpath, dirnames, filenames in os.walk[start]:
for filename in filenames:
if filename == "20170412":
filename = os.path.join[dirpath, filename]
print[filename]
print[dirpath]
Nếu chỉ có một tệp duy nhất tồn tại
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
5 thì ở trên sẽ xuất ra:C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
Tất nhiên bạn có thể thay đổi câu lệnh IF để phù hợp với việc bạn muốn kiểm tra
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
6 hay bất cứ điều gì khác.CẢNH BÁO: Nếu bạn làm
7 thì điều này rất có thể sẽ mất một thời gian để hoàn thành. Bởi vì nó sẽ chạy qua từng thư mục trên ổ C. If you do C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
7 then this is most likely gonna take a
looong time to finish. Because it is going to run through every single directory on the C drive.Bạn có thể thay đổi như nhau
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
8for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
Do đó, nếu
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
5 thực sự là một thư mục, thì ở trên sẽ xuất hiện giống như trước đây:C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
Tôi đã hy vọng một cái gì đó cô đọng hơn
Bạn vẫn có thể đóng gói nó vào một danh sách hiểu nếu đó là những gì bạn gọi là ngắn gọn hơn.
files = [os.path.join[dir, f] for dir, dirs, files in os.walk[start] for f in files if f == "20170412"]
Thư mục Python
Nếu có một số lượng lớn các tệp để xử lý trong chương trình Python của chúng tôi, chúng tôi có thể sắp xếp mã của chúng tôi trong các thư mục khác nhau để làm cho mọi thứ dễ quản lý hơn.
Thư mục hoặc thư mục là một tập hợp các tệp và thư mục con. Python có mô -đun
for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
0 cung cấp cho chúng tôi nhiều phương pháp hữu ích để làm việc với các thư mục [và các tệp].Nhận thư mục hiện tại
Chúng ta có thể nhận được thư mục làm việc hiện tại bằng phương pháp
for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
1 của mô -đun for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
0.Phương thức này trả về thư mục làm việc hiện tại dưới dạng chuỗi. Chúng ta cũng có thể sử dụng phương thức
for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
3 để lấy nó làm đối tượng byte.>>> import os
>>> os.getcwd[]
'C:\\Program Files\\PyScripter'
>>> os.getcwdb[]
b'C:\\Program Files\\PyScripter'
Backslash thêm ngụ ý một chuỗi thoát. Hàm
for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
4 sẽ hiển thị điều này đúng cách.>>> print[os.getcwd[]]
C:\Program Files\PyScripter
Thay đổi thư mục
Chúng ta có thể thay đổi thư mục làm việc hiện tại bằng cách sử dụng phương thức
for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
5.Đường dẫn mới mà chúng tôi muốn thay đổi phải được cung cấp dưới dạng chuỗi cho phương pháp này. Chúng ta có thể sử dụng cả slash forward
for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
6 hoặc lùi lại for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
7 để tách các yếu tố đường dẫn.Sẽ an toàn hơn khi sử dụng một chuỗi thoát khi sử dụng chém ngược.
>>> os.chdir['C:\\Python33']
>>> print[os.getcwd[]]
C:\Python33
Danh sách các thư mục và tập tin
Tất cả các tệp và các thư mục phụ bên trong một thư mục có thể được truy xuất bằng phương thức
for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
8.Phương thức này có một đường dẫn và trả về một danh sách các thư mục con và tệp trong đường dẫn đó. Nếu không có đường dẫn nào được chỉ định, nó sẽ trả về danh sách các thư mục con và tệp từ thư mục làm việc hiện tại.
>>> print[os.getcwd[]]
C:\Python33
>>> os.listdir[]
['DLLs',
'Doc',
'include',
'Lib',
'libs',
'LICENSE.txt',
'NEWS.txt',
'python.exe',
'pythonw.exe',
'README.txt',
'Scripts',
'tcl',
'Tools']
>>> os.listdir['G:\\']
['$RECYCLE.BIN',
'Movies',
'Music',
'Photos',
'Series',
'System Volume Information']
Tạo một thư mục mới
Chúng ta có thể tạo một thư mục mới bằng phương pháp
for dirname in dirnames:
if dirname == "20170412":
dirname = os.path.join[dirpath, dirname ]
print[dirname]
print[dirpath]
9.Phương pháp này đi theo con đường của thư mục mới. Nếu đường dẫn đầy đủ không được chỉ định, thư mục mới được tạo trong thư mục làm việc hiện tại.
>>> os.mkdir['test']
>>> os.listdir[]
['test']
Đổi tên một thư mục hoặc một tệp
Phương thức
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
0 có thể đổi tên một thư mục hoặc một tệp.Để đổi tên bất kỳ thư mục hoặc tệp nào, phương thức
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
0 có hai đối số cơ bản: tên cũ là đối số đầu tiên và tên mới là đối số thứ hai.C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
0Xóa thư mục hoặc tệp
Một tệp có thể được xóa [xóa] bằng phương pháp
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
2.Tương tự, phương pháp
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
3 sẽ loại bỏ một thư mục trống.C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
1Lưu ý: Phương pháp
3 chỉ có thể xóa các thư mục trống.:
The C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
3 method can only remove empty directories.Để xóa một thư mục không trống, chúng ta có thể sử dụng phương thức
C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
5 bên trong mô-đun C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
6.C:\Users\abc\def\ghi\20170412
C:\Users\abc\def\ghi\
2