É possível passar argumentos para um script Python?

8

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?

    
por simplycoding 20.10.2015 / 18:44

2 respostas

19

Isso funcionou para mim:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]
    
por 20.10.2015 / 18:48
3

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
    
por 17.11.2015 / 03:41

Tags