В библиотеке Tkinter есть функция askopenfilename, которая позволяет записывать путь к файлу в переменную, но я хочу, чтобы переменная, в которой хранится путь к файлу, была внутри функции get_file_path_1. Вопрос: как мне получить доступ к переменной file_path_1 вне функции, при этом не вызываю саму функцию, чтобы инициализировать переменную file_path_1. Мне не нужно вызывать лишний раз функцию get_file_path_1 , так как она вызывается только при нажатии кнопки открыть...
Вот мой код:
https://interview.cups.online/live-coding/?room=7e569311-ba33-4219-bb78-09437c780960
В вашем примере, переменная file_path_1 инициализируется в момент нажатия на кнопку, а не после tk.mainloop(). После клика на кнопку и выбора пути до файла, с этой переменной можно работать до закрытия окна (т.о. путь к файлу будет получен до закрытия окна).
Другое дело, что при обращении к переменной file_path_1 до клика на кнопку будет вылетать ошибка, т.к. эта переменная закрыта в функции и программа её не видит, если функция не вызывалась. Чтобы этого избежать, нужно вынести global file_path_1 из функции:
global file_path_1 = ""
def get_file_path_1():
global file_path_1
....
Таким образом, global file_path_1 изначально будет условно пустым, а при нажатии на кнопку в эту переменную будет записываться путь до файла.
Можно добавить какую-то работу в функцию def get_file_path_1. При клике на кнопку будет выбираться путь до файла и выполняться с ним работа.
Но когда я пытаюсь распечатать переменную, мне выводится пустота вместо пути к файлу.