Isso funcionou para mim:
import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
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 seria:
firstarg=$1
secondarg=$2
Como faço isso em Python? É exatamente o mesmo?
Você pode usar o argv de sys
from sys import argv
arg1, arg2, arg3, ... = argv
Você pode realmente colocar um número arbitrário de argumentos na linha de comando. argv será uma lista com os argumentos. Assim também pode ser chamado como arg1 = sys.argv [0] arg2 = sys.argv [1] . . .
Tenha em mente também 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 de linha de comando. Geralmente, tudo na linha de comando é interpretado como uma string. Então, se você quiser dar uma fórmula na linha de comando, use eval ().
>>> x = 1
>>> print eval('x+1')
2
Tags python