Допустим, иерархия каталогов выглядит следующим образом:Как я могу получить все имена файлов в разных каталогах?
A(root)
|
B---------C--------D
| | |
fileB.h fileC.png fileD.py
fileC1.jpg
E
|
fileE.py
Как я могу получить доступ ко всем док? Или просто получить путь. Есть ли способ итерации всех?
Что я делаю:
path = sys.path[0]
for filename_dir in os.listdir(path):
filename, ext = os.path.splitext(filename_dir)
if ext == '.h':
#do something
elif ext == '.png'
#do something
.....
Но я знаю listdir
может получить доступ только к каталогу, где расположен файл ого моей программы.
Помощь по встроенной функции listdir в модуле POSIX: 'listdir (...) listdir (путь) -> list_of_strings Возвращает список, содержащий имена записей в directory.' <- он принимает аргумент, в котором вы можете указать ему путь. –
btw ['listdir' на самом деле не заботится о том, где находится ваш .py-файл] (https://docs.python.org/2/library/os.html#os.listdir). Причина, по которой вы получаете только файлы, содержащиеся в том же каталоге, что и ваш .py-файл, потому что вы отправляете в качестве аргумента ['sys.path [0]'] (https://docs.python.org/2 /library/sys.html#sys.path) – zehnpaard
Спасибо всем комментариям и ответам. Так много ссылок и информации, которые я должен был изучить. :) –