1

我无法在最简单的实现下导入模块。我查看了其他 SO 帖子,它们对我来说更加复杂和难以理解。我想这是一个 Python 配置错误,但如果没有必要,我想在挖掘任何库或路径语句之前确定。

[modone.py]:

import modtwo.py

mod1 = "I am module #1"

print(mod1)

print(mod2)

[modtwo.py]:

mod2 = "I am module #2"

没有比这更基本的了......但这是我在 shell 中收到的输出:

Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 1521, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\OTI\Scripts\Python\Script1\modone.py", line 1, in <module>
    import modtwo.py
ImportError: No module named 'modtwo.py'; modtwo is not a package
4

2 回答 2

1

使用以下内容:

import modtwo   # no .py extension

print(modtwo.mod2)    # mod2 is namespaced to its module.

或者,你可以做

from modtwo import mod2

print(mod2)

虽然第二个选项可能更诱人(mod2经常使用时更短,但它没有命名空间,因此可能与模块mod2中同名的变量发生冲突。modone

于 2013-10-29T16:38:40.397 回答