#python #windows #tkinter #taskmanager #filedialog
#python #Windows #tkinter #taskmanager #файловый каталог
Вопрос:
Я часто использовал Tkinter для запроса пользователей и получения пути к файлу. Однако я сталкиваюсь с повторяющейся проблемой, когда появляется файловый каталог, он часто приводит к сбою Windows.
Экран зависает, все блокируется, и когда я вхожу в диспетчер задач, я вижу «Python не отвечает», когда я пытаюсь убить Python, тогда сам диспетчер задач зависает, и тогда мой единственный вариант — перезагрузить мой ноутбук.
Вот пример кода того, что я обычно делаю :
import tkinter as tk
from tkinter import filedialog
import os
window=tk.Tk()
currdir=os.getcwd()
path=filedialog.askopenfilename(parent=window, initialdir=currdir, title="Select file")
Я делаю что-то не так? Какие-нибудь советы? Это просто плохая производительность этой библиотеки?
Комментарии:
1. Иногда у меня возникает такая же проблема. Однако я могу убить с помощью файлового менеджера.
Ответ №1:
Вы пробовали использовать блок try / except, чтобы выйти из цикла, даже если вы попали в исключение?
import tkinter as tk
from tkinter import filedialog
import os
try:
window=tk.Tk()
currdir=os.getcwd()
path=filedialog.askopenfilename(parent=window, initialdir=currdir, title="Select file")
finally:
window.mainloop()
Ответ №2:
Включить
window.mainloop()
В конце вашего файла графического интерфейса и посмотрите, работает ли он таким образом
Ответ №3:
Спасибо @User9701 и @Linden
Следуя вашему совету, я обновил свой код в соответствии с приведенным ниже :
import tkinter as tk
from tkinter import filedialog
import os
try:
window=tk.Tk()
currdir=sos.getcwd()
path=filedalog.asopenfilename(parent=window,initialdir=currdir, title="Select file")
finally:
window.destroy()