Python найти файл и изменить каталог на путь к файлу
Я хочу использовать os.walk для поиска в cwd и его подкаталогах, чтобы найти конкретный файл, а когда найден, сразу прервется и перейдет в этот каталог. Я видел много примеров, где он ломается после определения местоположения файла, но я не могу понять, как извлечь путь, чтобы я мог изменить каталог.
2 ответа
Решение
Что-то вроде этого?
f = 'filename'
for path, dirs, files in os.walk('.'):
if f in files:
os.chdir(path)
break
import os
required_file = "somefile.txt"
cwd = '.'
def get_dir_name(cwd, required_file):
for dirName, subdirList, fileList in os.walk(cwd):
for fname in fileList:
if fname == required_file:
change_to_dir = os.path.abspath(dirName)
return change_to_dir
change_to_dir = get_dir_name(cwd, required_file)
os.chdir(change_to_dir)