Я сделаю все возможное, чтобы описать это. Поскольку код, с которым я работаю, не выдает никаких ошибок как таковых - и я читал / смотрел / пробовал несколько вещей, которые привели к той же самой проблеме, где созданные папки не могут быть вызваны для завершения функций, как только они'set'
Я строю графический интерфейс с использованием tkinter. Мне нужно указать две отдельные директории (A и B), в которых есть изображения, которые будут переименованы другими функциями.
У меня есть две отдельные кнопки, которые вызывают функцию askdirectory для установки этих каталогов:
def set_A_dir():
A_dir = filedialog.askdirectory(initialdir="~/", title="Define A Directory")
A_dir_set = (os.path.join(A_dir))
return A_dir_set
Проблема, с которой я столкнулся при работе с этим каталогом, заключается в том, что каталог, в котором он находится, представляет собой одну папку назад из папки, выбранной с помощью функции askdirectory. то есть, если он указывает на ~ / users / folder / A, он вернет только ~ users / folder
Так что мне нужно использовать файлы изображений в папке A для настроенной мной функции переименования. Когда я вызываю результат из set_A_dir, я получаю ошибку, что A_dir_set не определен.
Я попытался сделать это с помощью StringVar, однако, когда пришло время переименовать файлы, я не смогиспользуй это. Я также осознаю кросс-платформенную функциональность метода os.join, которую я бы предпочел использовать.
Я также пытался сделать это с помощью os.chdir и os.cwd - который работал, ноон сохранял только одно значение для каждого, что означало, что если бы я захотел вернуться и выполнить функции переименования в каталоге A после использования каталога B, каталоги для любого из них не были бы сохранены, и мне пришлось бы переустановить его наcwd каждый раз.
Итак, подведем итог - у меня есть кнопка для A и кнопка для B, чтобы указать каталоги. Я хочу сохранить значение, полученное функцией askdirectory для каждой из этих кнопок, чтобы иметь возможность использовать эти отдельные каталоги для запуска функций переименования.
для тестирования, для этого я мог бы включить что-то вродеследующее:
print(os.lisdir(A_dir))
В идеале - после того, как я переместил это в работающее приложение, эти каталоги будут храниться до тех пор, пока пользователь (я) не решит изменить их снова.