我正在試驗文件I/O。我有一個小練習程序,在運行時創建一個文本文件。我用pyinstaller打包它,以便雙擊exe文件創建一個新文件夾,並在其中放置一個帶有「hello world」的文本文件。十分簡單。是否有可能在運行時將參數傳遞給python make exe?
然後我開始想知道main()
。這只是一個像其他任何功能,對嗎?那麼這是否意味着我可以在運行時將參數傳遞給它?
我在想Steam客戶端,以及如何在快捷方式中放置'-dev'和'-console'之類的東西。有沒有辦法做到這一點,我已經做了一個python exe文件?
我可以解釋了苦頭,所以這裏有一個例子:
def makeFile(string):
if string:
f = open('mytext.txt', 'w') #create text file in local dir
print >> f, 'hello, ' + string + '! \nHow are ya?'
f.close()
else:
f = open('mytext.txt', 'w') #create text file in local dir
print >> f, 'hello, person! \nHow are ya?'
f.close()
def main(string = None):
makeFile(string)
所以,如果我把這個代碼,並使它成爲一個exe文件,我將能夠以某種方式加入我的可選參數。
我試過上面的代碼,並且正在運行test.exe --"myname"
但是沒有工作。
有沒有辦法做到這一點?
這工作完美!謝謝!! – Zack 2012-04-06 18:03:15
更新答案,做'如果len(sys.argv)> 1'來測試是否有文件名參數,並且有提示'argparse'比較好(以解決任何問題)。 – George 2012-04-06 18:13:54