同时导入 tkFileDialog 和 pyperclip 的脚本不会退出。(Python2.7)工作示例,我的脚本按预期退出:
import Tkinter, tkFileDialog
root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
root.destroy()
也:
import pyperclip
print ('whatever')
然而,以下内容将阻止我的脚本退出(raise SystemExit
为强调而添加):
import Tkinter, tkFileDialog
import pyperclip
root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
root.destroy()
raise SystemExit
只需导入两个模块即可,必须打开 tkFileDialog 才能创建错误。当作为脚本调用时,调用os._exit()
或引发软锁定解释器或 python 进程的任何代码。
看来,在打开 a 时加载时会出现问题,因为以下片段按预期工作:SystemExit
pyperclip
tkFileDialog
import Tkinter, tkFileDialog
root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
root.destroy()
import pyperclip
raise SystemExit
但是,无论如何,关键部分之后的每一行代码都按预期执行,但提升SystemExit
将创建一个软锁。
这不能用作解决方法,因为 python 不允许卸载模块。
我究竟做错了什么?任何解决方法的想法?