Tôi đang cố gắng tạo một tệp văn bản có danh sách tất cả các tệp trong thư mục hiện tại và tất cả các thư mục con của nó có phần mở rộng ".asp"
. cách nào tốt nhất để làm việc này?Làm cách nào để tạo danh sách tệp trong thư mục hiện tại và các thư mục con của nó bằng tiện ích mở rộng đã cho?
Trả lời
Bạn sẽ muốn sử dụng os.walk mà sẽ làm cho tầm thường đó.
import os
asps = []
for root, dirs, files in os.walk(r'C:\web'):
for file in files:
if file.endswith('.asp'):
asps.append(file)
đi bộ cây với os.walk
và nội dung bộ lọc với glob
:
import os
import glob
asps = []
for root, dirs, files in os.walk('/path/to/dir'):
asps += glob.glob(os.path.join(root, '*.asp'))
hoặc với fnmatch.filter
:
import fnmatch
for root, dirs, files in os.walk('/path/to/dir'):
asps += fnmatch.filter(files, '*.asp')
Giống như os.path.join(). Tôi tưởng tượng OP sẽ tìm thấy anh ta cần đường dẫn đầy đủ đến các tập tin tìm thấy. – hughdbrown
Khi tôi đã làm giải pháp thứ hai của bạn, nó chỉ tìm kiếm cùng một thư mục nhiều lần. Tôi nghĩ rằng nó cần điều này: >>> asps = [] >>> p = r'C: \ temp ' >>> cho thư mục gốc, dirs, tệp trong os.walk (p): ... asps + = fnmatch.filter ([os.path.join (gốc, tệp) cho tệp trong tệp], "* .txt") – hughdbrown
Ummm, không hoàn toàn đúng. Tôi có cùng một tệp trong nhiều thư mục trong thư mục gốc. Có vẻ như cùng một thư mục được tìm kiếm nhiều lần nhưng không phải. nó vẫn sẽ tốt hơn với đường dẫn kèm theo, như trong giải pháp đầu tiên của bạn. – hughdbrown
- 1. Cách xác định thư mục của tiện ích mở rộng
- 2. Danh sách các tệp trong thư mục nội dung và thư mục con của nó
- 3. grep nhiều tiện ích mở rộng hiện tại và thư mục con
- 4. Tại sao danh sách thư mục chứa thư mục (.) Và thư mục mẹ (..) hiện tại?
- 5. Danh sách tất cả thư mục và thư mục con
- 6. Làm cách nào để hủy thư mục con trong thư mục hiện tại?
- 7. Cách lấy danh sách các tệp/thư mục của url thư mục trong java?
- 8. Làm cách nào để tạo thư mục trong thư mục làm việc hiện tại, trong Java
- 9. Đếm số lượng loại tệp cụ thể của một thư mục và thư mục con của nó trong mac
- 10. Xóa một thư mục và các thư mục con của nó trong Mục tiêu-C/C
- 11. Lấy danh sách các thư mục trong một thư mục
- 12. Liệt kê tất cả các tệp và thư mục trong thư mục + thư mục con
- 13. Đệ quy lặp qua tất cả các tệp trong thư mục và thư mục con của nó trong Qt
- 14. Điều gì mở rộng cho tất cả các tệp trong thư mục hiện tại đệ quy?
- 15. thư mục và thư mục con xcopy đệ quy và lọc chỉ tên tập tin bằng cách mở rộng
- 16. danh sách các lớp học theo thư mục/thư mục bằng cách sử dụng doxygen?
- 17. danh sách VBScript tất cả các file PDF trong thư mục và thư mục con
- 18. Tiện ích mở rộng của Chrome có thể ghi vào một tệp trong thư mục hệ thống của Chrome không?
- 19. Làm cách nào để tạo một tệp VÀ bất kỳ thư mục nào, nếu các thư mục không tồn tại?
- 20. Danh sách các thư mục trong một thư mục, bỏ qua các tiểu thư mục ANT
- 21. Làm cách nào để tạo thư mục nếu thư mục không tồn tại bằng Perl?
- 22. Tạo một thư mục con cho tất cả các thư mục trong thư mục
- 23. Làm cách nào để xóa thẻ danh sách đen cho tiện ích mở rộng?
- 24. Làm thế nào để liệt kê tất cả các thư mục và thư mục con/tệp trong iPhone SDK?
- 25. Xóa thư mục con và phần mở rộng tập tin
- 26. Android, làm cách nào để có danh sách tất cả các tệp trong một thư mục?
- 27. Cách lấy danh sách thư mục và tệp từ thư mục tài nguyên trong iPhone?
- 28. Làm thế nào để hiển thị các thư mục và thư mục con từ thư mục trong PHP
- 29. Làm cách nào để lấy danh sách tất cả các tệp có phần mở rộng ESY trong một thư mục?
- 30. Nhận đường dẫn tương đối của các tệp trong các thư mục con từ thư mục hiện tại
Hoặc 'rắn hổ = [(tập tin cho tập tin trong file nếu file.endswith ('.asp')) cho _, __, tập tin trong os.walk (path)] ', mà tôi nghĩ rằng sẽ là" Pythonic "cách để làm điều đó (mặc dù nó thực sự chỉ là cú pháp ngắn hơn một chút cho cùng một điều) . –
1 lót là tốt đẹp nhưng không chính xác Pythonic dễ đọc. – Unknown
Thao tác này sẽ đệ quy lại các thư mục nhưng không lưu trữ đường dẫn của các tệp. – hughdbrown