Skip to main content
 首页 » 编程设计

用于导入模块的 Python 查找文件夹

2025年05月04日17qq号

两个py文件:

./src/foo.py
def bar (): 
    print 'bar!' 

./tests/testfoo.py
from foo import bar 
print 'testing' 
bar () 

在根文件夹'./'中,调用

python ./tests/testfoo.py 

结果是

Traceback (most recent call last): 
  File "./tests/testfoo.py", line 1, in <module> 
    from foo import bar 
ImportError: No module named foo 

运行 testfoo.py 但解释器自然找不到模块 foo。我可以给解释器任何参数以在文件夹“src”中查找模块吗?

编辑 #1

还添加了两个空的init.py 文件。

./src/__init__.py 
./tests/__init__.py 

仍然出现同样的错误。

编辑 #2(解决方案)

我通过添加一个新的初始化py文件解决了问题

准备.py

import os, sys 
cur = os.path.dirname (__file__) 
pathtest = os.path.join (cur, 'tests') 
sys.path.append (pathtest) 

然后调用:

python prep.py tests/testfoo.py 

成功了

请您参考如下方法:

试试这个:

import sys 
sys.path.append('your/path') 
import testfoo 

您可能需要使 ./tests 成为绝对路径...