2011-06-13 67 views

回答

2

py2exe將sys.executable設置爲可執行文件的完整路徑名。 sys.argv[0]也應該給這條路。官方文檔見Py2exeEnvironment

1

您的.exe文件的路徑應存儲在sys.executable中。

該py2exe.org維基WhereAmI頁面有一些有用的例子,你也可以找到有用的。

有趣的是,the top-voted answera similar question from last year擁護者使用sys.argv[0]而不是sys.executable。任何一個應該可以在py2exe中正常工作。如果sys.frozen已設置,我一直使用sys.executable,並且從來沒有任何問題,但是使用sys.argv[0]也不會有任何傷害。

0

我使用類似以下內容:

def get_app_info(): 
    # determine if application is a script file or frozen exe 
    application = {'path': './', 'dir': './', 'start': None} 

    if hasattr(sys, 'frozen'): 
    application['path'] = sys.executable 
    application['dir'] = os.path.dirname(sys.executable) 
    else: 
    application['path'] = os.path.abspath(sys.argv[:1][0]) 
    application['dir'] = sys.path[0] 
    return application