У меня есть текстовый файл, полный имен файлов. Например:
C:\Folder\Subfolder_01\file_1001.csv
C:\Folder\Subfolder_02\file_3030.xls
...
Я хочу проверить, существуют ли файлы (это легко) или имя подпапки изменилось. Имя некоторых подпапок изменилось путем добавления некоторой строки перед ним (начиная с числа 4 di git, например, C:\Folder\Subfolder_02\file_3030.xls
изменилось на C:\Folder\2019 - Subfolder_02\file_3030.xls
).
Я пытался решить эту проблему с помощью pathlib.glob()
. Это можно сделать для одного указанного c файла «вручную», например
list(file.parent.parent.glob('* - Subfolder_02\file_3030.xls'))
, который возвращает список с новым именем файла. Но мне не удалось сделать это в al oop, окружающем glob
параметрами.
Это то, что я получил до сих пор, но моя попытка объединить глоб с другими переменными (используя +) не дает очевидных результатов. причины:
import pathlib
file = pathlib.Path(file_names.txt)
lines=[]
with open(file,'r') as f:
# reading the txt-file line by line
for line in f:
line = line.replace("\r", "").replace("\n", "")
lines.append(line)
for file in lines:
file = pathlib.Path(file)
# check if file exists ...
if file.exists():
print('OK - ' + file.name)
# ... if not, find new location
else:
new_files = list(file.parent.parent.glob('* - ') + file.name)
print(files_files)