Как получить ВСЕ файлы в директории и поддиректориях (Python)?
Ситуация: есть один корневой каталог, в нём множество папок и файлов + в тех папках такое же множество всего. Нужно при соблюдении определенного условия переименовать ВСЕ файлы и файлы во всех подпапках а-ля:
if ... :
переименовать все файлы в каталогах и во всех подкаталогах этой корневой директории
else:
pass
Пробовал с os.walk(), но не получается
Кто может подскажите...
path = "R:/Games/dir1/"
for element in os.walk(path):
for file in element:
#print(type(file))
if os.path.isdir(str(file)):
#print(file)
pass
elif type(file) == list:
for file_in_dir in file:
os.rename(file, file + '.YES')
else:
pass
выдает:
Traceback (most recent call last):
File "walk.py", line 12, in
os.rename(file, file + '.YES')
TypeError: can only concatenate list (not "str") to list
vspishka124, т.е. нужно более простое решение чтобы вытащить все имена файлов из кортежа я так полагаю, потому что слишком много списков на пути попадается и вытаскивать из каждого следующий список и из него следующий и только потом из них файлы не катит
import os
os.chdir("d:\\tmp")
for root, dirs, files in os.walk(".", topdown = False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))