153 votes

Comment puis-je exécuter une commande externe de manière asynchrone depuis Python ?

Je dois exécuter une commande shell de manière asynchrone à partir d'un script Python. Je veux dire par là que je veux que mon script Python continue à s'exécuter pendant que la commande externe part faire ce qu'elle doit faire.

J'ai lu ce post :

Appel d'une commande externe en Python

J'ai ensuite fait quelques tests, et on dirait que os.system() fera l'affaire à condition que j'utilise & à la fin de la commande pour ne pas avoir à attendre qu'elle revienne. Je me demande si c'est la bonne façon d'accomplir une telle chose ? J'ai essayé commands.call() mais cela ne fonctionne pas pour moi car cela bloque sur la commande externe.

Faites-moi savoir si vous utilisez os.system() si cela est conseillé ou si je dois essayer une autre voie.

0voto

mosquito Points 13

Mon petit wrapper résout ce problème https://github.com/mosquito/subprocess_helper

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