在Idle shell中导入模块

and*_*ent 8 python pyc python-3.x

我正在尝试学习python而我在导入模块时遇到问题.我有一个.pyc文件,我试图导入到名为dfa.pyc的空闲shell中

我把文件放在一个名为xyz的文件夹中.我使用以下方法导航到此文件夹

    os.chdir('/Users/xxx/Desktop/xyz')
Run Code Online (Sandbox Code Playgroud)

所以现在,如果我尝试运行命令:

    from dfa import *
Run Code Online (Sandbox Code Playgroud)

我收到错误:

    ImportError: No module named dfa
Run Code Online (Sandbox Code Playgroud)

如果我运行命令:

    os.path.isfile('dfa.pyc') 
Run Code Online (Sandbox Code Playgroud)

它返回true.

有人可以解释我如何导入dfa.pyc文件?

谢谢

Lyc*_*cha 10

我不认为python模块是基于你用chdir做的加载的.模块从您启动python shell的文件夹和PYTHONPATH中的文件夹加载.

如果你想动态加载模块,你可以检查imp.loadmodule(页面底部的示例).


小智 9

您可以通过执行代码添加到PYTHONPATH中

sys.path.append('<newpath'>)
from dfa import *
Run Code Online (Sandbox Code Playgroud)

我不相信更改当前目录对导入过程有任何影响,即使它确实如此,我也不确定你是怎么想这样做的.