Argümanları bir kabuk betiğine nasıl aktaracağımı biliyorum. Bu argümanlar AWS veri hattında bildirilir ve aktarılır. Kabuk betiği şöyle görünecektir:
firstarg=$1
secondarg=$2
Bunu Python'da nasıl yapabilirim? Tam olarak aynı mı?
Argümanları bir kabuk betiğine nasıl aktaracağımı biliyorum. Bu argümanlar AWS veri hattında bildirilir ve aktarılır. Kabuk betiği şöyle görünecektir:
firstarg=$1
secondarg=$2
Bunu Python'da nasıl yapabilirim? Tam olarak aynı mı?
Yanıtlar:
Bu benim için çalıştı:
import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
sys.argv[0]
hiçbir şeye eşit değildir
argv[0]
senaryo adı olmalı
Sys'den argv kullanabilirsiniz
from sys import argv
arg1, arg2, arg3, ... = argv
Aslında komut satırına abitrary sayıda bağımsız değişken koyabilirsiniz. argv, bağımsız değişkenleri içeren bir liste olacaktır. Böylece arg1 = sys.argv [0] arg2 = sys.argv [1] olarak da adlandırılabilir. . .
Ayrıca sys.argv [0] 'un basitçe python programınızın adı olduğunu unutmayın. Ayrıca, komut satırı girdisini kullandığınızda "eval" ve "exec" işlevleri iyi. Genellikle, komut satırındaki her şey bir dize olarak yorumlanır. Yani, komut satırında bir formül vermek istiyorsanız eval () kullanırsınız.
>>> x = 1
>>> print eval('x+1')
2
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])