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
↧