jenkinsでパラメータを送信しようとしていて、パラメータをpythonファイルで認識しようとしています。またbashからpythonスクリプトにパラメータを送信
param = "Hello World"
param -> /usr/green/test.py
をどのようにPYファイルは、パラメータをつかむために知っているん:
私はbashの上でこれを行うことができコマンドはありますか?
jenkinsでパラメータを送信しようとしていて、パラメータをpythonファイルで認識しようとしています。またbashからpythonスクリプトにパラメータを送信
param = "Hello World"
param -> /usr/green/test.py
をどのようにPYファイルは、パラメータをつかむために知っているん:
私はbashの上でこれを行うことができコマンドはありますか?
あなたはスクリプトにこの方法を渡されたパラメータにアクセスすることができます。
import sys
print sys.argv[1]
~ python test.py 'hello world'
一つの解決策は、Pythonでパイプを通してパラメータやプロセスを印刷することです。
同様:
read.py:
#!/usr/bin/python
import sys
pythonparams = sys.stdin.read()
# do something
その後、
echo "$param"|./read.py
あなたはPythonスクリプトでSYS卵を使用して経由でスクリプトをPythonのBASHからあなたにパラメータを渡すことができます。コマンドの環境変数を渡します。 BASHで
PyScript
import sys
print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)
コマンド:
$python test.py $BUILD_ID $BUILD_URL
出力:あなたは目を配置する必要が
Number of arguments: 2 arguments.
Argument List: ['test.py', '107', 'http://0.0.0.0:8080/artefact/builds/24']
このように、スペースで区切られたファイルパスの後に電子スクリプトの引数:
/usr/green/test.py arg1 arg2 arg3
はスクリプトに、bashの変数の値を渡すためには、あなたが$
(ドル記号)と変数名の接頭辞があります。
param="Hello world"
/usr/green/test.py "$param"
pythonスクリプトの引数リストには、sys.argv
でアクセスできます。リストの最初の要素はスクリプトへのパスです。したがって、2番目の要素は最初の引数です。
例 /usr/green/test.py(パイソン3):
import sys
print(sys.argv[1])
bashの入力:
param="Hello World"
python3 /usr/green/test.py "$param"
bashの出力:
Hello World
注変数名を引用符で囲むか、HelloとWorldを指定する必要がありますtest.pyに2つの別個の引数として渡されます。
#!/usr/bin/python3
import sys
print(sys.argv[1])
はbashで入力して、スクリプトを実行可能にします:python
コマンドなしでスクリプトを実行するには
、あなたが#!
行(shebang)行を追加することができます
chmod +x /usr/green/test.py
を私はここにこの答えを指名しますルーベゴールドバーグ賞xD –
:d。できます。ありがとうございました。 – ntj