79 votes

sous-processus: argument de mot-clé inattendu capture_output

Lors de l'exécution de subprocess.run() comme indiqué dans la documentation Python , j'obtiens un TypeError:

 >>> import subprocess
>>> subprocess.run(["ls", "-l", "/dev/null"], capture_output=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/subprocess.py", line 403, in run
    with Popen(*popenargs, **kwargs) as process:
TypeError: __init__() got an unexpected keyword argument 'capture_output'

J'utilise Python 3.6.6:

 $ python3 --version
Python 3.6.6

6voto

Hugo Sohm Points 1441

La méthode la plus simple consiste à utiliser la fonction subprocess.check_output:

 import subprocess
subprocess.check_output(["ls", "-l", "/dev/null"])

2voto

Boris Points 1440

J'ai rencontré cette erreur parce que j'appelaissubprocess.call (qui est l'ancienne API de haut niveau) au lieu de subprocess.run .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X