Wiem, jak przekazywać argumenty do skryptu powłoki. Argumenty te są deklarowane w linii danych AWS i przekazywane. Tak wyglądałby skrypt powłoki:
firstarg=$1
secondarg=$2
Jak to zrobić w Pythonie? Czy to dokładnie to samo?
Wiem, jak przekazywać argumenty do skryptu powłoki. Argumenty te są deklarowane w linii danych AWS i przekazywane. Tak wyglądałby skrypt powłoki:
firstarg=$1
secondarg=$2
Jak to zrobić w Pythonie? Czy to dokładnie to samo?
Odpowiedzi:
To działało dla mnie:
import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
sys.argv[0]
jest równe nic
argv[0]
powinna być nazwa skryptu
Możesz użyć argv z sys
from sys import argv
arg1, arg2, arg3, ... = argv
W wierszu komend można w rzeczywistości podać liczbę argumentów niepoprawną. argv będzie listą z argumentami. Dlatego można go również wywołać jako arg1 = sys.argv [0] arg2 = sys.argv [1]. . .
Pamiętaj również, że sys.argv [0] to po prostu nazwa twojego programu python. Ponadto funkcje „eval” i „exec” są przydatne, gdy używasz wprowadzania z wiersza poleceń. Zwykle wszystko w wierszu poleceń jest interpretowane jako ciąg znaków. Tak więc, jeśli chcesz podać formułę w wierszu poleceń, użyj eval ().
>>> x = 1
>>> print eval('x+1')
2
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])