在Idle shell中导入模块

8 投票
3 回答
32003 浏览
提问于 2025-04-17 05:26

我正在学习Python,但在导入一个模块时遇到了问题。

我有一个名为dfa.pyc的文件,想在IDLE这个环境中导入它。

这个文件放在一个叫xyz的文件夹里。

我用下面的命令进入这个文件夹:

    os.chdir('/Users/xxx/Desktop/xyz')

现在,如果我尝试运行这个命令:

    from dfa import *

我就会收到一个错误:

    ImportError: No module named dfa

如果我运行这个命令:

    os.path.isfile('dfa.pyc') 

它会返回true。

有没有人能解释一下我该如何导入dfa.pyc文件呢?

谢谢!

3 个回答

-1

来自 Brian Fitzgerald 的一篇文章,标题是 加载(和卸载)Python模块

“... 还有这个用来‘取消导入’”

del sys.modules["package"]
del package

9

你可以通过下面的代码来添加到PYTHONPATH:

sys.path.append('<newpath'>)
from dfa import *

我认为改变你当前的目录对导入过程没有影响,即使有影响,我也不确定你想要这样做。

10

我觉得Python模块的加载跟你用chdir做的事情没关系。模块是从你启动Python命令行的文件夹和PYTHONPATH中指定的文件夹加载的。

如果你想动态加载模块,也许可以看看imp.loadmodule(页面底部有示例)。

撰写回答