Я написал функцию python, которая ищет ключевые слова в файлах, проверяет эти ключевые слова по словарю, составленному из списков, составляющих мою файловую структуру, и автоматически сортирует файлы по соответствующим ключевым словам.
У меня есть непредвиденные обстоятельства в место для совпадения родительской папки, но не найдено соответствующей дочерней папки. Одним из них является приглашение для пользователя ввести имя новой подпапки, которую нужно создать, чтобы переместить файл.
В настоящее время у меня есть две многоуровневые функции, на которые есть ссылки, чтобы достичь этой точки. Подпапка создается без проблем, но мой список подпапок, связанных с родительской папкой, не обновляется.
def create_subfolder(x, p):
global moved
global success
global dpath
global Categories
new_sub = input("Please Enter the new subfolder name: ")
Categories[p].append(new_sub)
os.mkdir(dpath + "/" + p + "/" + new_sub)
m = ("Moving " + x + " to " + dpath + "/" + p + "/" + new_sub)
if m not in moved:
moved.append(m)
update_file_path(x,p,new_sub)
if IOError:
return False
else:
success.append("y")
Если я распечатаю Categories[p]
в этой функции, она печатает список подпапок соответствующим образом. Если я распечатываю его после строки добавления, это показывает, что новая папка была добавлена, но, похоже, не обновляет список словарей глобально.
Что я могу сделать, чтобы это работало?
Мне приходит в голову, что моя второстепенная проблема, в которую я еще не вникал, это настойчивость. Обновление списка для одного сеанса запуска моего скрипта - это действительно только кратковременное исправление. Мне нужно, чтобы эти обновления сохранялись.