我想傳遞一個整數列表作爲參數到一個python腳本。Python參數,在項目
示例代碼:
items = sys.argv[1]
for item in items:
print item
我的命令是:
python myscript.py 101,102,103
的問題是「在」是給我的每一個數字,而不是每個項目由逗號分隔的作爲。
我確定有一個簡單的答案。如何循環使用分隔值而不是單個數字?
非常感謝!
我想傳遞一個整數列表作爲參數到一個python腳本。Python參數,在項目
示例代碼:
items = sys.argv[1]
for item in items:
print item
我的命令是:
python myscript.py 101,102,103
的問題是「在」是給我的每一個數字,而不是每個項目由逗號分隔的作爲。
我確定有一個簡單的答案。如何循環使用分隔值而不是單個數字?
非常感謝!
通常情況下,命令行參數用空格分開。逗號分隔的數字以單個字符串形式出現,並且for
將字符串拆分爲字符。你需要用逗號分割:items.split(',')
。一旦你這樣做,你會發現你仍然有字符串,所以你需要將每個字符串轉換爲一個整數。
items = argv[1]
for item in items.split(','):
print int(item)
我認爲你應該直接使用:
python myscrypt.py 101 102 103
和
items = sys.argv
謝謝,但我不認爲會這樣做。該腳本還有其他幾個用於其他用途的參數,第一個中的整數列表不總是相同的長度。 – stackuser10210 2012-01-01 15:15:26
你可以在命令行中傳遞一個字符串,例如'「101,102,103」',並使用Python的split函數從字符串中取出不同的參數,然後;) – Cydonia7 2012-01-01 15:18:50
拆分輸入:
items = sys.argv[1].split(',')
for item in items:
print item
命令行參數傳遞給您的腳本作爲一個字符串,所以你需要使用「」作爲分隔符返回單個整數分裂它。
items = sys.argv[1]
for item in items.split(','):
print item
可愛。是的,聽起來很像。我有一半希望「Google是你的朋友」的評論或類似內容。我喜歡在這裏回答簡單的問題,所以我想其他人必須:)。謝謝你,新年快樂。 – stackuser10210 2012-01-01 15:22:17