我使用python來創建我的項目設置設置,但我需要幫助獲取命令行參數。如何訪問Python中的命令行參數?
我想這在終端上:
$python myfile.py var1 var2 var3
在我的Python文件,我想用所輸入的所有變量。
我使用python來創建我的項目設置設置,但我需要幫助獲取命令行參數。如何訪問Python中的命令行參數?
我想這在終端上:
$python myfile.py var1 var2 var3
在我的Python文件,我想用所輸入的所有變量。
import sys
print(sys.argv)
更具體地說,如果您運行python example.py one two three
:
>>> import sys
>>> print(sys.argv)
['example.py', 'one', 'two', 'three']
坦克,但現在我需要把我的var1使用?這裏發生了什麼.. :) – ParisNakitaKejser 2010-10-27 13:46:31
Dooh,明白了(sys.argv [1]):D – ParisNakitaKejser 2010-10-27 13:50:20
import sys
sys.argv[1:]
會給你的參數(不包括Python文件的名稱)
列表您可以使用sys.argv
將參數作爲名單。
如果您需要訪問單個元素,你可以使用
sys.argv[i]
其中i
是指數,0
會給你正在執行的蟒蛇文件名。之後的任何索引都是通過的參數。
Python代碼:
import sys
# main
param_1= sys.argv[1]
param_2= sys.argv[2]
param_3= sys.argv[3]
print 'Params=', param_1, param_2, param_3
調用:
$python myfile.py var1 var2 var3
輸出:
Params= var1 var2 var3
如果你這樣稱呼它:$ python myfile.py var1 var2 var3
import sys
var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
與數組類似,您也有sys.argv[0]
,它始終是當前的工作目錄。
我能想到的一些額外的東西。
由於@allsyed說sys.argv給出了一個組件列表(包括程序名),所以如果你想知道通過命令行傳遞的元素的數量,你可以使用len()來確定它。基於此,如果用戶未傳遞特定數量的參數,則可以設計異常/錯誤消息。
另外,如果你在尋找一個更好的方式來處理命令行參數,我建議你看看https://docs.python.org/2/howto/argparse.html
我強烈建議argparse這與Python 2.7和隨後趕到。
這裏一個小例子:
import argparse
parser = argparse.ArgumentParser("simple_example")
parser.add_argument("counter", help="An integer will be increased by 1 and printed.", type=int)
args = parser.parse_args()
print(args.counter + 1)
和輸出python3 prog.py -h
usage: simple_example [-h] counter
positional arguments:
counter counter will be increased by 1 and printed.
optional arguments:
-h, --help show this help message and exit
和python3 prog.py 1
如你所願:
2
麪包師傅模塊是一個偉大的工具編寫Python命令行應用程序。 http://pypi.python.org/pypi/Baker/1.02 – 2010-10-27 20:02:40