2016-08-12 73 views
0

任何人都可以說如何檢測代碼是否在由Nuitka或普通Python解釋器創建的exe中運行?如何以編程方式檢測代碼是否以nuitka編譯或python解釋模式運行

我想我會理想地喜歡一個「is_nuitka」標誌,它會在編譯時設置爲True,並且在編譯時根本不存在。然後

能使用這樣的代碼:

if '__is_nuitka__' in locals() or '__is_nuitka__' in globals(): 
    print('debug info: running in nuitka mode') 

有什麼建議?有沒有這樣的東西可用?任何替代方法?

回答

0

第一個想法是檢查sys.argv中[0]像

if '.exe' in sys.argv[0]: 
    # compiled 
+0

'蟒蛇my_script_to_modify_.exe_files.py'就已經打破你的假設。 – RedX

+0

if sys.argv [0] .endswith('.exe') then =) – pmus

相關問題