Python获取程序所在目录

来源:互联网 发布:cad排版软件 编辑:程序博客网 时间:2024/05/16 11:54
Python获取程序所在目录

解决__file__或sys.argv[0]在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[0]))

##############################
 
原创粉丝点击