Bạn có thể sử dụng os.walk()
# !/usr/bin/python
import os
directory_list = list()
for root, dirs, files in os.walk("/path/to/your/dir", topdown=False):
for name in dirs:
directory_list.append(os.path.join(root, name))
print directory_list
EDIT
Nếu bạn chỉ muốn mức độ đầu tiên và không thực sự "diễu hành" qua các thư mục con, nó thậm chí còn ít mã:
import os
root, dirs, files = os.walk("/path/to/your/dir").next()
print dirs
Đây không phải là thực sự những gì os.walk
được thực hiện cho. Nếu bạn thực sự chỉ muốn một mức độ thư mục con, bạn cũng có thể sử dụng os.listdir()
như Yannik Ammann gợi ý:
root='/path/to/my/dir'
dirlist = [ item for item in os.listdir(root) if os.path.isdir(os.path.join(root, item)) ]
print dirlist
Nguồn
2015-03-23 09:05:23
cảm ơn. Nhưng mã này chỉ là danh sách các tên, tuy nhiên tôi không thể lưu chúng vào một mảng hoặc danh sách? – HightronicDesign
Chắc chắn bạn có thể ... Tôi đã chỉnh sửa câu trả lời của tôi, vì vậy nó gắn thêm các mục vào danh sách. –
ahh tính năng thực sự mát mẻ, vẫn còn một vấn đề, tôi nhận được tất cả các thời gian cây hoàn chỉnh của tất cả các thư mục con trong đường dẫn, tôi chỉ cần cấu trúc đầu tiên: C: \ MyPath và trong thư mục này tôi có folder1, folder2, folder3 .... và tôi chỉ cần tên thư mục 1, folder2 etc chứ không phải thư mục con của thư mục1 ..... – HightronicDesign