我有一个主文件,可以单独运行以测试目的(helper_functions.py),也可以从另一个文件(main.py)导入到同一目录中,作为较大项目的一部分。
.
├── main.py
├── helper_functions.py
└── other_helper_functions.py
在Python 3.6中,我有义务根据运行文件的方式(直接或间接来自main.py)在helper_functions.py中编写如下内容:
if __name__ == "__main__":
import other_helper_functions
else:
from . import other_helper_functions
之所以这样做,是因为我需要在测试文件时独立运行该文件,并能够将其作为从main.py导入的模块来运行。
我只是不明白为什么from .
在直接运行时不够明确,无法在helper_functions.py文件中使用? (并避免使用if __name__ == "__main__"
部分)
简单地问,有没有办法使from . import other_helper_functions
在"__main__"
文件中工作(在这种情况下直接运行时为helper_functions.py)?