2011-05-22 32 views
2

我有這段代碼:我如何執行Python腳本命令行標誌

of = open("oldfile") 
nf = open("newfile",'w') 
for line in of: 
    if len(line) > 17: 
      nf.write(line) 

of.close() 
nf.close() 

,而不是指定17,我希望能夠用一個變量把它放在我的腳本目錄並執行它直接。如果沒有標誌,它可以打印'scriptname'之類的東西。如果有下面的標誌,它會執行代碼。

$ myscriptname -l 17 oldfile newfile將對

+0

你的問題有點混亂。你可以使用環境變量,傳遞給腳本的命令行參數,從文件中讀取參數... – khachik 2011-05-22 19:43:17

+0

@khachik你能告訴我你在想什麼嗎? – magnetar 2011-05-25 20:56:46

回答

4

見檢查標誌和設置值,或較新的(更好)argparse如果你願意使用2.7+的optparse模塊。至於把它放在我的腳本目錄我不完全明白你想要什麼。

+0

我在我的路徑中有一個目錄,我可以通過名稱來調用shell腳本。我也將使用它作爲腳本,作爲我的命令行代碼的一部分。 – magnetar 2011-05-25 20:53:53

3

如果你只是想快速和骯髒的訪問命令行參數:

import sys 
print sys.argv # <-- this is an array containing all the command line parameters 

如果你想要更多的控制,你可以使用optparse module