为什么从。 python中的__name__ ==“ __main__”时,导入模块不起作用

时间:2018-07-04 15:49:02

标签: python import

我有一个主文件,可以单独运行以测试目的(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)?

0 个答案:

没有答案