# test.py
from src import test_src
test_src.run()
# test_src.py
def run():
print("In src_test!")
#运行 python test.py 返回结果
Traceback (most recent call last):
File "test.py", line 2, in <module>
from src import test_src
ImportError: No module named 'src'
import模块的查找模块的顺序如下:
1、先从当前目录下找
2、当前目录下找不到的话,在从sys.path的路径找
print(__file__)
print(os.path.abspath(__file__)) # 获取当前文件的绝对路径
print(os.path.dirname(os.path.abspath(__file__))) # 去掉文件名,返回目录
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) # 返回上2级目录
输出:
test.py
/home/sangfor/桌面/pathTest/intelligent/bin/test.py
/home/sangfor/桌面/pathTest/intelligent/bin
/home/sangfor/桌面/pathTest/intelligent
改进后的运行结果
还可以这样,在父级目录下的 __init__.py
文件中写入(前提:在工程中父级目录被当做一个包调用过)
import sys,os
path = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, path)