【发布时间】:2016-07-17 03:41:38
【问题描述】:
我在 __main__.py 的几个 Python 项目中看到了以下代码。有人能解释一下目的吗?当然它会将包含__main__.py 的目录放在sys.path 的头部,但是为什么呢?以及为什么要测试(__package__ is None and not hasattr(sys, 'frozen')?另外,在sys.path.insert 中,为什么os.path.dirname 被调用了两次?
import sys
if __package__ is None and not hasattr(sys, 'frozen'):
# direct call of __main__.py
import os.path
path = os.path.realpath(os.path.abspath(__file__))
sys.path.insert(0, os.path.dirname(os.path.dirname(path)))
【问题讨论】:
-
请edit 现在使用适当的文件名
-
这是设置 Python 项目以确保设置正确的路径,从我假设是脚本目录到库目录,如果他们不使用 Python 打包。
-
感谢 cricket 编辑我的双下划线名称。以后我会记得使用反引号来转义格式字符。
标签: python main pythonpath