gpt4 book ai didi

python - 从 IDLE 与 Shell 中的包导入

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:35 25 4
gpt4 key购买 nike

导入整个包可以在 IDLE 中进行,但不能在 shell 中进行。以下内容在 IDLE 中运行良好:

import tkinter as tk
tk.filedialog.askopenfilename()

在 shell 中,我收到此错误:

AttributeError: 'module' object has no attribute 'filedialog'

我知道我必须导入 tkinter.filedialog 才能使其在 shell 中工作。

为什么 IDLE 和 shell 之间有区别?如何让 IDLE 表现得像 shell 一样?脚本在 IDLE 中工作而在 shell 中失败可能会令人沮丧。

我使用的是 Python 3.4。

最佳答案

这是一个 IDLE 错误,我在未来的 3.5.3 和 3.6.0a4 版本中修复了该错误。 Tracker issue.

对于现有的 3.5 或 3.4 版本,请将以下内容添加到idlelib/run.py 的 LOCALHOST 行之前。

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”。

关于python - 从 IDLE 与 Shell 中的包导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38806673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com