Eu sei como passar argumentos para um script de shell. Esses argumentos são declarados no datapipeline da AWS e transmitidos. É assim que um script de shell se pareceria:
firstarg=$1
secondarg=$2
Como faço isso em Python? É exatamente o mesmo?
Eu sei como passar argumentos para um script de shell. Esses argumentos são declarados no datapipeline da AWS e transmitidos. É assim que um script de shell se pareceria:
firstarg=$1
secondarg=$2
Como faço isso em Python? É exatamente o mesmo?
Respostas:
Isso funcionou para mim:
import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
sys.argv[0]
é igual a nada
argv[0]
deve ser o nome do script
Você pode usar o argv do sys
from sys import argv
arg1, arg2, arg3, ... = argv
Na verdade, você pode colocar um número abitrário de argumentos na linha de comando. argv será uma lista com os argumentos. Portanto, também pode ser chamado como arg1 = sys.argv [0] arg2 = sys.argv [1]. . .
Lembre-se também de que sys.argv [0] é simplesmente o nome do seu programa python. Além disso, as funções "eval" e "exec" são boas quando você usa a entrada da linha de comando. Geralmente, tudo na linha de comando é interpretado como uma sequência. Portanto, se você quiser fornecer uma fórmula na linha de comando, use eval ().
>>> x = 1
>>> print eval('x+1')
2
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])