写在前面:python的相对引用就是个大坑,就算解决了这个问题也不一定能跑,建议还是用绝对引用
举栗子说明:
报错原因是,python在执行这个报错的py文件的时候没有转换目录
解决方法就是用 . (当前目录)或者 . . (上级目录)来指明你引用的位置
示例代码结构
mod是一个package(有__init__.py的文件夹叫package)
现在想让main.py来import mod这个包,然后让__init__.py来import functions.py 中的函数hh
functions.py:
def hh():
return 0
_init_.py:
重点在这里!
- 没被注释的是正确import法
- #后面是错误的import法
- ‘’‘后面是一个验证路径确实还在根目录的语句
from .functions import hh
from . import functions
#import .functions
#import functions
#from functions import hh
""" import os
print(os.getcwd()) """
main.py:
import mod