2017-11-27 2 views

Antwort

0

können Sie Parameter an das Skript auf diese Weise weitergegeben zugreifen:

import sys 

print sys.argv[1] 

~ python test.py 'hello world' 
0

Eine Lösung, die die Parameter und Verfahren durch ein Rohr mit Python zu drucken wäre.

Like:

read.py:

#!/usr/bin/python 

import sys 

pythonparams = sys.stdin.read() 

# do something 

dann

echo "$param"|./read.py 
+0

ich nominieren hiermit diese Antwort für den Rube Goldberg Award xD –

+0

: d. Es klappt. Vielen Dank. – ntj

0

Sie Parameter von BASH Sie Python-Skript über mit sys Ei in den Python-Skripte passieren kann. Übergeben Sie dann die Umgebungsvariablen im Befehl.

PyScript

import sys 

print 'Number of arguments:', len(sys.argv), 'arguments.' 
print 'Argument List:', str(sys.argv) 

Befehl in BASH:

$python test.py $BUILD_ID $BUILD_URL 

Ausgang:

Number of arguments: 2 arguments. 
Argument List: ['test.py', '107', 'http://0.0.0.0:8080/artefact/builds/24'] 
0

Sie haben th zu setzen e Skript Argumente nach der Pfaddatei durch Leerzeichen getrennt, wie folgt aus:

/usr/green/test.py arg1 arg2 arg3 

den Wert einer Bash-Variable, um das Skript zu übergeben, müssen Sie mit einem $ (Dollarzeichen) den Variablennamen voranstellen:

param="Hello world" 
/usr/green/test.py "$param" 

Auf die Liste der Argumente im Python-Skript kann mit sys.argv zugegriffen werden. Das erste Element in der Liste ist der Pfad zum Skript, daher ist das zweite Element das erste Argument.

Beispiel /usr/green/test.py (Python 3):

import sys 

print(sys.argv[1]) 

bash input:

param="Hello World" 
python3 /usr/green/test.py "$param" 

bash output:

Hello World 

Hinweis: Sie müssen den Variablennamen in Anführungszeichen setzen oder Hello und World werden als zwei separate Argumente an test.py übergeben.

Um das Skript ohne python Befehl ausführen, können Sie eine #! (shebang) Zeile hinzufügen:

eingeben, indem Sie bash
#!/usr/bin/python3 

import sys 

print(sys.argv[1]) 

Machen Sie das Skript ausführbar:

chmod +x /usr/green/test.py 
Verwandte Themen