如何将子文件夹模块python导入另一个文件?

时间:2018-07-08 11:36:46

标签: python-2.7

我想访问main中的modules.module函数A,但是执行此操作时出现错误,我无法导入该错误。如何解决此问题?我看过多篇文章,但没有机会,如何解决从子文件夹导入模块的错误?

#!/usr/bin/python
import sys
import core.settings
from google.modules import google


if __name__ == '__main__':
    try:
        core.settings.settings()
        google()
    except KeyboardInterrupt:
        print "interrupted by user.."
    except:
        sys.exit()

导入错误:无法导入名称google

main.py

def google():
    print 'A'

module.py

#include<stdio.h>
int main()
{
 char c = 125;
 c = c+10;
 printf("%d", c);
 return 0;

}

1 个答案:

答案 0 :(得分:0)

解决这个问题的最简单方法是将main.py放在最高目录中(无论如何main都存在于目录中),如果您真的希望真正的main位于子目录中,则可以有一个虚拟对象您可以在顶层调用main,它只调用实际的main,这样python可以看到您的整个目录树,并且知道如何导入任何子目录。

或者

您可以将父目录添加到sys.path:

parent_dir = os.path.realpath(os.path.join(os.getcwd(),'..')))
sys.path.append(parent_dir)

,当您尝试导入内容时,会将目录添加到python搜索的位置。

但是随后您将需要跟踪主目录在目录树中的深度及其在我看来是一个非常简单的解决方案