2012-09-13 37 views
0

我試圖找到一個答案,這個分配多個系統參數,但似乎沒有任何適應問題...的Python:在一個簡單的線條

我想在一個簡單的線條分配sys.argv到變量,在一個簡單的行中,而不是做以下內容:

var1 = sys.argv[1] 
var2 = sys.argv[2] 
var3 = sys.argv[3] 
var4 = sys.argv[4] 
var5 = sys.argv[5] 
var6 = sys.argv[6] 
etc... 

這是可能的嗎?

乾杯,

MHibbin

+0

它是一組變量數量,還是您正在尋找一個解決方案來接受任意數量的參數? – skunkfrukt

回答

5

沒錯:

var1,var2,var3,var4 = sys.argv[1:5] 

如果在右側的迭代器有4個元素這隻會工作。 Python3.x擴展了這個能力了一下:

var1,var2,var3,var4,*rest = sys.argv[1:] 

在這種變化中,你解壓的sys.argv[1:]第4個元素到變量和sys.argv其餘被放進名單rest

對於命令行解析,我肯定會推薦​​。它附帶python2.7,並且可以很容易地安裝到較舊版本的python中。

+0

非常感謝!可悲的是我堅持2.7(其餘列表),但我會看看argparse模塊。乾杯 – MHibbin

2

你可以使用這個語法:

var1, var2, var3 = sys.argv[1:] 

注意變量的數量必須與列表的長度相匹配。通常,最好使用getopt module

+0

謝謝,我會看看getopt模塊。 (upvoted) – MHibbin