Добавление к списку в словаре - PullRequest
0 голосов
/ 25 апреля 2020

Я написал функцию 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] в этой функции, она печатает список подпапок соответствующим образом. Если я распечатываю его после строки добавления, это показывает, что новая папка была добавлена, но, похоже, не обновляет список словарей глобально.

Что я могу сделать, чтобы это работало?

Мне приходит в голову, что моя второстепенная проблема, в которую я еще не вникал, это настойчивость. Обновление списка для одного сеанса запуска моего скрипта - это действительно только кратковременное исправление. Мне нужно, чтобы эти обновления сохранялись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...