Bonjour,
J'utilise des qprocess pour executer des commandes en fond.
Cela marche tres bien mais j'aurais besoin de tester le retour de la commande mais je rencontre les soucis suivants :
dans ma console bash :
Si j'utilise la commande execute du qprocess :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3ffmpeg echo $? => 1
Comment faire avec la commande start ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 >>> process = QProcess() >>> test = process.execute("ffmpeg") ffmpeg version 0.8.8-6:0.8.8-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers built on Oct 22 2013 12:36:33 with gcc 4.8.1 *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg' >>> print(test) 1
j'ai essayé ceci :
Finalement il me dit juste que le QProcess s'est terminé normalement mais pas que la commande elle, s'est mal terminée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 >>> process = QProcess() >>> test = process.start("ffmpeg") >>> print(test) None >>> process.exitStatus() 0 >>> process.exitCode() 0 >>> process.error() 5
Pour le retour d'erreur, Il me donne toujours 5 que la commande se passe bien ou non.
Ma question est donc la suivante : Est-il possible de récupérer après coup et sans utiliser exécute le retour de la commande elle même et non le retour du QProcess ?
Merci à vous !
Partager