如何获取入口模块在python中的位置?
How do I get the location of the entry module in python?
我知道我可以使用__file__
和os.path.*
来找出当前模块的路径。入口模块呢?
我正在尝试根据主机名从模块中将 ini 文件加载到 ConfigParser 中,但我希望它相对于入口程序集,而不一定是工作目录。这可能吗?
如果入口模块是指程序的入口点,这通常是sys.argv[0]
。所以你可以这样做:
示例:
import os
import sys
def main():
basedir = os.path.dirname(sys.argv[0])
print "base directory: {0:s}".format(basedir)
if __name__ == "__main__":
main()
我知道我可以使用__file__
和os.path.*
来找出当前模块的路径。入口模块呢?
我正在尝试根据主机名从模块中将 ini 文件加载到 ConfigParser 中,但我希望它相对于入口程序集,而不一定是工作目录。这可能吗?
如果入口模块是指程序的入口点,这通常是sys.argv[0]
。所以你可以这样做:
示例:
import os
import sys
def main():
basedir = os.path.dirname(sys.argv[0])
print "base directory: {0:s}".format(basedir)
if __name__ == "__main__":
main()