如何在两个子目录中导入python文件

时间:2015-01-06 05:36:30

标签: python python-import python-module

我的目录结构如下

 - src\module1\ __init__.py 
 - src\module1\foo1.py 
 - src\module2\ __init__.py
 - src\module2\foo2.py

我想从foo2.py中的foo1.py导入函数。我尝试使用

导入
from module1.foo1 import *

但是这会引发回溯错误。 请在foo1.py

中建议如何导入foo2.py

提前致谢 马努

2 个答案:

答案 0 :(得分:0)

试试这个

from module1.foo1 import ClassName

答案 1 :(得分:0)

来自https://docs.python.org/2/tutorial/modules.html

  

6.1.2。模块搜索路径

     

当导入名为spam的模块时,解释器首先进行搜索   对于具有该名称的内置模块。如果没有找到,则搜索   对于由。给出的目录列表中名为spam.py的文件   变量sys.path。 sys.path从这些位置初始化:

     

包含输入脚本(或当前目录)的目录。

     

PYTHONPATH(目录名列表,语法与   shell变量PATH)。

     

依赖于安装的默认值。

     

初始化后,Python程序可以修改sys.path。

所以让我们修改sys.path

import sys
sys.path.append('src\module1\')
import foo1

值得打印sys.path,这样你就可以看到为什么它还没有找到。