kaola4549 发表于 2017-4-25 09:47:25

Python获取程序所在目录

Python获取程序所在目录

解决__file__或sys.argv在py2exe下失效的问题。

选自pathutils模块。
http://www.voidspace.org.uk/python/pathutils.html#get-main-dir

##############################################################################
# These functions get us our directory name
# Even if py2exe or another freeze tool has been used

def main_is_frozen():
"""Return ``True`` if we're running from a frozen program."""
import imp
return (
# new py2exe
hasattr(sys, "frozen") or
# tools/freeze
imp.is_frozen("__main__"))

def get_main_dir():
"""Return the script directory - whether we're frozen or not."""
if main_is_frozen():
return os.path.abspath(os.path.dirname(sys.executable))
return os.path.abspath(os.path.dirname(sys.argv))

##############################
页: [1]
查看完整版本: Python获取程序所在目录