2012-01-01 10 views
2

整数のリストをPythonスクリプトの引数として渡したいとします。Pythonの引数(アイテムの場合)

例コード:

items = sys.argv[1] 
for item in items: 
    print item 

私のコマンドは次のようになります

python myscript.py 101,102,103 

問題は、カンマで区切らとして「には」私の各桁ではなく、各項目を与えているということです。

簡単な答えがあると確信しています。一桁ではなく、区切りの値をどのようにループするのですか?

ありがとうございました!

答えて

5

通常のコマンドライン引数はスペースで区切られています。コンマで区切られた数字は単一の文字列として入力され、forは文字列に文字を分割しています。コンマで区切る必要があります:items.split(',')。いったんこれを行うと、まだ文字列があることがわかるので、各文字列を整数に変換する必要があります。あなたは「」区切り文字として、個々の整数を返すために使用して、それを分割する必要があるので、

items = argv[1] 
for item in items.split(','): 
    print int(item) 
+0

Lovely。はい、それはそれのように聞こえる。私は「Googleはあなたの友人」のコメントなどを期待して半分でした。私はここで簡単な質問に答えるのが楽しいので、他の人はそうしなければなりません:)。ありがとう、幸せな新年。 – stackuser10210

3

私はあなたが直接使うべきだと思う:

python myscrypt.py 101 102 103 

items = sys.argv 
+0

ありがとうございますが、私はそれを行うとは思わない。スクリプトには他の目的のためにいくつかの引数があり、最初の整数のリストは常に同じ長さになるとは限りません。 – stackuser10210

+0

コマンドラインで '' 101,102,103 "'のような文字列を渡し、Pythonの 'split'関数を使って異なる引数を文字列から取り出すことができます;) – Cydonia7

2

スプリット入力:

items = sys.argv[1].split(',') 
for item in items: 
    print item 
2

コマンドライン引数は、1つの文字列としてスクリプトに渡されます。

items = sys.argv[1] 
for item in items.split(','): 
    print item 
関連する問題