从IDLE vs Sh中的包导入

2024-05-15 20:37:42 发布

您现在位置:Python中文网/ 问答频道 /正文

导入整个包在空闲状态下可以工作,但在shell中则不行。以下各项在空闲状态下工作正常:

import tkinter as tk
tk.filedialog.askopenfilename()

在shell中,我得到以下错误:

^{pr2}$

我知道我必须import tkinter.filedialog才能在shell中实现这一点。在

为什么IDLE和shell之间有区别?我怎么能让闲人像空壳一样?如果脚本在空闲状态下工作,而在shell中失败,这会令人沮丧。在

我使用的是python3.4。在


Tags: importtkinter状态as错误shelltk空闲
1条回答
网友
1楼 · 发布于 2024-05-15 20:37:42

这是一个空闲的bug,我为将来的3.5.3和3.6.0a4版本修复了这个错误。Tracker issue.

对于现有的3.5或3.4版本,在idlelib中添加以下内容/运行.py就在本地主机行之前。在

for mod in ('simpledialog', 'messagebox', 'font',
            'dialog', 'filedialog', 'commondialog',
            'colorchooser'):
    delattr(tkinter, mod)
    del sys.modules['tkinter.' + mod]

我认为这将适用于早期的3.x版本,但没有安装它们来进行测试。对于现有的3.6.0a版本,请将“colorchooser”替换为“ttk”。在

相关问题 更多 >