134 votes

Windows ne trouve pas le fichier sur subprocess.call()

Je reçois l'erreur suivante :

WindowsError: [Error 2] The system cannot find the file specified

Mon code est :

subprocess.call(["<<executable file found in PATH>>"])

Windows 7, 64 bits. Python 3.x dernière, stable.

Des idées ?

Merci,

27voto

Sam Inverso Points 31

Sous Windows, vous devez appeler via cmd.exe. Comme Apalala l'a mentionné, les commandes Windows sont implémentées dans cmd.exe pas comme des exécutables séparés.

par exemple

subprocess.call(['cmd', '/c', 'dir'])

/c demande à cmd d'exécuter la commande follow

C'est plus sûr que d'utiliser shell=True, qui permet les injections de shell.

3voto

Darksnake Points 106

Si vous utilisez powershell, alors il y aura subprocess.call(['powershell','-command','dir']). Powershell prend en charge une grande partie des commandes POSIX

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