Tkinter - Сохранение каталога в функции и вызов его для изменения каталога - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь разработать GUI с помощью tkinter. Я создал функцию (в виде кнопки) для поиска папки («входная папка»). У меня есть подпрограмма, связанная с другой кнопкой («выполнить»), которой нужен путь из «входной папки».

Я получаю ошибки, когда пытаюсь передать путь из «входной папки» в os.chdir внутри «execute». Пример выглядит следующим образом:

import sys
import os
from tkinter import filedialog
from tkinter import *

window = Tk()

def Input():
    filename = filedialog.askdirectory()
    global filename

def Extraction():
    in_loc = filename
    os.chdir(in_loc)

btn = Button(window, text="Extract", bg="black", fg="white", command=Extraction)
btn.pack()

btn2 = Button(text="Input", command=Input).pack()

window.mainloop()

Может кто-нибудь воспроизвести это и сказать мне, что я здесь делаю не так?

Спасибо:)

1 Ответ

1 голос
/ 08 апреля 2020

Попробуйте это:

import sys
import os
from tkinter import filedialog
from tkinter import *

filename = ''


def input_function():
    global filename

    filename = filedialog.askdirectory()


def extraction():
    global filename

    in_loc = filename
    os.chdir(in_loc)


window = Tk()

btn = Button(window, text="Extract", bg="black", fg="white", command=extraction)
btn.pack()

btn2 = Button(text="Input", command=input_function).pack()

window.mainloop()
...