2016-03-23 9 views
-4

のようなコマンドを指定した場合:sys.argv Pythonのパラメータにアクセスするには?

のpython 1.py ABあなたが現在までに1の上に座っている間に次の引数を印刷する方法2 34

。例えば、xがある場合はabが、私は2を印刷したい:

import sys 
for x in sys.argv[1:]: 
    print next element after x 
+1

です。あなたの現在のループインデックスを追跡するために 'enumerate'を使用してください。それは助けるべきである。 – Evert

+3

引数の構文解析を行っていますか? 'argparse'を考えてみてください。あなたは正気の多くを保存します。それはあなたに役立つヘルプメッセージ、強力な引数の解析を提供し、あまりにも使いやすいです。 – nneonneo

+0

さらに詳しいヘルプが必要な場合は、ユースケースの詳細を提供する必要があります。たとえば、abを読んだ後に2を印刷した後に、明確ではない1つのことは、2を読んで34を印刷する必要がありますか?また、これを行う理由(オプション設定のコマンドライン引数を解析するなど)を指定した場合は、既に実行したいパッケージがいくつかあります。 – albertoql

答えて

1

私はあなたがこのシンタックスシュガーは助けることができますが、印刷したいのかわからない午前:

for x in sys.argv[1::2]: 
    print x 

これは、他のすべての要素を出力します。だから、これは::は、アレイ内のどのように多くのスロットの後にこれは2

数を返しますab 34

for x in sys.argv[2::2]: 
    print x 

を返します。

編集:私たちは2つの変数をスキップし、すべてのループを意味し、あまりにも1によって

val = 1 
for index, x in enumerate(sys.argv[1::2]): 
    val += 1 
    print sys.argv[index+val] 

指数が上昇するたびに、および1によってヴァル: はあなたの特定の質問に答えるために。したがって、python yourcode.py a 1 b 2 c 3 d 4のようなものに対しては、出力は1 2 3 4

+0

最初のループ印刷2を代わりに作成できますか?あなたがしたように1から始まる – 33ted

+0

ありがとうございます:) – 33ted

関連する問題