Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Executar comandos do terminal num script python

$
0
0
A documentação muitas vezes pouco ou nada ajuda. Eu li logo a primeira parte, vi o exemplo e tentei aplicar o exemplo ainda que o exemplo pouco tenha a ver com a descrição que é feita acima! Senão repara, a função ou seja lá o que aquilo fôr, é apresentada da seguinte maneira: subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False) Não dizem o que faz o '*', nem se os outros argumentos são obrigatórios nem nada! Não fui ler as FUA... Depois o exemplo que dão, não corresponde em quase nada à descrição que acabaram de fazer porque não dizem em cima que temos que usar aspas para separar cada argumento nem que os argumentos têm que estar agrupados com parêntesis rectos e não usam nenhum dos argumentos restantes. Sim eu esqueci-me de colocar os parêntesis rectos e estava a usar plicas em vez de aspas, mas mesmo depois de alterar isso, os erros são os mesmos ou parecidos! Traceback (most recent call last): File "test.py", line 7, in <module> subprocess.call(["./rigup", "license", sys.argv[1], var]) File "/usr/lib/python2.7/subprocess.py", line 522, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 710, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child raise child_exception TypeError: execv() arg 2 must contain only strings

Viewing all articles
Browse latest Browse all 14700