引数をPythonスクリプトに渡すことは可能ですか?


17

引数をシェルスクリプトに渡す方法を知っています。これらの引数は、AWSデータパイプラインで宣言され、パススルーされます。これは、シェルスクリプトは次のようになります。

firstarg=$1
secondarg=$2

Pythonでこれを行うにはどうすればよいですか?まったく同じですか?


尋ねる前に検索しようとしましたか?引数をpythonスクリプトに渡すためにGoogleを検索すると、必要なすべての情報が得られます。4番目のリンクとして、Stackoverflowから「Pythonのコマンドライン引数」という質問がありました。
ピョートルドブロゴスト

3
pythonスクリプトに引数を渡すためにgoogleを検索すると、この投稿が表示されます。
デビッドアンドレア

回答:


30

これは私のために働いた:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]

うん、うまくいく。何らかの理由で、インデックスは0だからでは起動しないことはsys.argv[0]何もないに等しい
simplycoding

14
argv[0]スクリプト名である必要があります
Peter Gerhat

3

sysからargvを使用できます

from sys import argv
arg1, arg2, arg3, ... = argv

実際には、コマンドラインに任意の数の引数を入れることができます。argvは引数を含むリストになります。したがって、arg1 = sys.argv [0] arg2 = sys.argv [1]として呼び出すこともできます。。。

また、sys.argv [0]は単にPythonプログラムの名前であることに注意してください。また、コマンドライン入力を使用する場合は、「eval」および「exec」機能が便利です。通常、コマンドラインのすべては文字列として解釈されます。したがって、コマンドラインで式を指定する場合は、eval()を使用します。

>>> x = 1
>>> print eval('x+1')
2

0
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])

1
これをsample.pyに入力し、パラメーターを指定して呼び出す必要があります。
-ArunSK

ArunSK、回答を編集してコメントを含めることができます。:)
ジェームススケム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.