所以我有一個Python腳本,我用py2exe編制了一個exe
,我希望它只在exe
版本運行時才能執行某些任務。有沒有辦法編寫代碼,所以我不必在創建exe
之前手動保存單獨的版本?有沒有辦法讓python腳本知道它是什麼類型的文件?
我想象這樣的事情:
if self.filename[-4:] == ".exe":
do this code
因此,這將在某種程度上能夠找到它自己的文件名。可以做到嗎?
所以我有一個Python腳本,我用py2exe編制了一個exe
,我希望它只在exe
版本運行時才能執行某些任務。有沒有辦法編寫代碼,所以我不必在創建exe
之前手動保存單獨的版本?有沒有辦法讓python腳本知道它是什麼類型的文件?
我想象這樣的事情:
if self.filename[-4:] == ".exe":
do this code
因此,這將在某種程度上能夠找到它自己的文件名。可以做到嗎?
嘗試
import sys
...
if sys.argv[0].endswith('.exe'):
...
if ".exe" in self.fileName:
print "it's an exe file!"
鑑於self.filename = 「someprogram.exe」
的py2exe文檔給出一個辦法做到這一點:
http://www.py2exe.org/index.cgi/HowToDetermineIfRunningFromExe
import imp, os, sys
def main_is_frozen():
return (hasattr(sys, "frozen") or # new py2exe
hasattr(sys, "importers") # old py2exe
or imp.is_frozen("__main__")) # tools/freeze
NameError:名稱'self'未定義d –