Как в Python передать переменную из одной функции в другую функцию
Как передать значения переменных path1 и path2 из функций get_file1_path и get_file2_path в функцию start, не пользуясь global (т.к. так не рекомендуется). Вызывать функции get_file1_path и get_file2_path внутри функции start не получится, т.к. все 3 функции привязаны к разным кнопкам и выполняются при их нажатии.
import tkinter
from tkinter import filedialog
def get_file1_path(): # вызывается во время нажатия кнопки файл1
global path1
path1 = filedialog.asksaveasfile(defaultextension='.csv', filetypes=(
('TXT files', '*.txt'), ('DOCX files', '*.docx'))).name
return path1
def get_file2_path(): # вызывается во время нажатия кнопки файл2
global path2
path2 = filedialog.asksaveasfile(defaultextension='.csv', filetypes=(
('TXT files', '*.txt'), ('DOCX files', '*.docx'))).name
def start(): # вызывается во время нажатия кнопки старт
with open(file=path1, mode='w', encoding='utf-8') as f1:
pass
with open(file=path2, mode='w', encoding='utf-8') as f2:
pass
root = tkinter.Tk()
file1_button = tkinter.Button(text='Файл1', command=get_file1_path)
file1_button.pack()
file2_button = tkinter.Button(text='Файл2', command=get_file2_path)
file2_button.pack()
start_button = tkinter.Button(text='Старт', command=start)
start_button.pack()
root.mainloop()