Bạn cần lọc các thư mục; os.listdir[]
liệt kê tất cả các tên trong một đường dẫn nhất định. Bạn có thể sử dụng os.path.isdir[]
cho điều này:
basepath = '/path/to/directory'
for fname in os.listdir[basepath]:
path = os.path.join[basepath, fname]
if os.path.isdir[path]:
# skip directories
continue
Lưu ý rằng điều này chỉ lọc ra các thư mục sau khi theo dõi Symlinks. fname
không nhất thiết là một tệp thông thường, nó cũng có thể là một liên kết với một tệp. Nếu bạn cũng cần lọc các liên kết symlink, bạn cần sử dụng not os.path.islink[]
trước.
Trên phiên bản Python hiện đại [3.5 hoặc mới hơn], một tùy chọn thậm chí còn tốt hơn là sử dụng hàm os.scandir[]
; Điều này tạo ra các trường hợp DirEntry[]
. Trong trường hợp phổ biến, điều này nhanh hơn vì Direntry được tải đã được lưu trữ đủ thông tin để xác định xem một mục nhập có phải là thư mục hay không:
basepath = '/path/to/directory'
for entry in os.scandir[basepath]:
if entry.is_dir[]:
# skip directories
continue
# use entry.path to get the full path of this entry, or use
# entry.name for the base filename
Bạn có thể sử dụng entry.is_file[follow_symlinks=False]
nếu chỉ cần các tệp thông thường [và không liên kết symlink].
os.walk[]
làm công việc tương tự dưới mui xe; Trừ khi bạn cần tái phát các thư mục con, bạn không cần phải sử dụng os.walk[]
ở đây.
1 Câu trả lời cho câu hỏi này.
Bạn cần lọc các thư mục; os.listdir [] liệt kê tất cả các tên trong một đường dẫn nhất định. Bạn có thể sử dụng Os.Path.isdir [] cho điều này:
BASEPATH = '/PATH/TO/SỰ KHÁC BIỆT' cho fname trong Os.ListDir [BasePath]: & nbsp; & nbsp; & nbsp; & nbsp; path = os.path.join [basePath, fname] & nbsp; .path.isdir [đường dẫn]: & nbsp; & nbsp; & nbsp; & nbsp;
for fname in os.listdir[basepath]:
path = os.path.join[basepath, fname]
if
os.path.isdir[path]:
# skip directories
continue
& nbsp; os.walk [] thực hiện cùng một công việc dưới mui xe; Trừ khi bạn cần tái phát các thư mục con, bạn không cần phải sử dụng os.walk [] tại đây.
• 13,300 points
Các câu hỏi liên quan trong Python
- Tất cả danh mục
- Apache Kafka [84][84]
-
Apache Spark [596][596]
- Azure [131][131]
- Dữ liệu lớn Hadoop [1.907][1,907]
-
Blockchain [1.673][1,673]
- C# [124][124]
- C ++ [268][268]
-
Tư vấn nghề nghiệp [1.060][1,060]
- Điện toán đám mây [3,356][3,356]
- An ninh mạng & hack đạo đức [145][145]
- Phân tích dữ liệu [1.266][1,266]
- Cơ sở dữ liệu [853][853]
- Khoa học dữ liệu [75][75]
-
DevOps & Agile [3.500][3,500]
- Tiếp thị kỹ thuật số [111][111]
- Các chủ đề về sự kiện & xu hướng [28][28]
- IoT [Internet of Things] [387][387]
- Java [1.178][1,178]
- Kotlin [3][3]
-
Quản trị Linux [384][384]
- Học máy [337][337]
- MicroStrargety [6][6]
-
PMP [423][423]
- Power BI [516][516]
- Python [3.154][3,154]
- RPA [650][650]
- Salesforce [92][92]
- Selenium [1.569][1,569]
- Kiểm tra phần mềm [56][56]
- Tableau [608][608]
-
Talend [73][73]
- Các loại [124][124]
- Phát triển web [2.999][2,999]
-
Hỏi chúng tôi bất cứ điều gì! [66][66]
- Những người khác [1.134][1,134]
- Phát triển di động [46][46]
Đăng ký nhận bản tin của chúng tôi và nhận được các khuyến nghị cá nhân hóa.
Bạn co săn san để tạo một tai khoản? Đăng nhập.