使用__init__.py导入的Python不能用于未知原因

时间:2014-03-13 02:32:06

标签: python import

我在python中从其他文件导入内容时遇到问题。我的设置看起来像这样:

program/
    file1.py
    file2.py
    common/
        __init__.py
        file3.py

我在文件1和2中说import common。但是出于某种原因,导入失败,说no module named common。更奇怪的是,创建一个具有不同名称的新文件,并且它自己的__init__.py,它导入完全正常。

完整的背景故事是我在另一台计算机上处​​理这些文件,然后通过电子邮件发送给我自己并将它们装回我的实际计算机上。这是发生导入错误的时间。我为重新加载文件所做的是简单地删除旧文件(包括文件结构)并使用我通过电子邮件发送给自己的文件重建它。这会对进口产生任何影响吗?

编辑:我刚刚意识到,当我下载文件时,我实际上有两个__init__.py,一个是普通名字,另一个是最后一个号码1(区分差异)。我将文件重命名为__init__.py,但我无法从中导入。即使我将该文件移动到新文件夹,它也会导致导入错误。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您应该可以执行以下操作:

from common import file3, file4

答案 1 :(得分:0)

没关系,事实证明我所要做的就是更改原始__init__.py的名称,从头开始创建一个新的__init__.py,复制所有代码,然后删除原始__init__.py 1}}。不确定是什么导致它像它一样失败,但至少我现在有一个解决方案。