簡體   English   中英

如何檢測cx_freeze是否正在編譯程序?

[英]How to detect if program is being compiled by cx_freeze?

我有一個使用configparser讀取ini的python程序。 我想與python文件具有相同的名稱,這就是為什么我使用以下代碼的原因:

# nativ python
#fileName = sys.argv[0].split('.')[0]

# compiled python
fileName = sys.argv[0].split('\\')[-1]
fileName = fileName.split('.')[0]

如您所見,根據運行方式的不同,我有不同的版本。 將其作為python腳本sys.argv運行會產生與將其用作exe時不同的結果。 我手動切換它,有時我忘記了它,不得不對其進行更改並不得不重新編譯整個過程。 但是我看到了其他類似的東西:

if sys.platform == "win64":
    base = "Win64GUI"
else:
    base = "Win32GUI"

我想知道是否可以使用類似於以下內容檢測cx_freeze是否正在編譯源代碼:

if getting_compiled():
    fileName = sys.argv[0].split('.')[0]
else:
    fileName = sys.argv[0].split('\\')[-1]
    fileName = fileName.split('.')[0]

是的,您可以檢查由cx_Freeze設置的“ sys.frozen”的值。

getattr(sys,“ frozen”,False)

應該為你做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM