Sous-processus.Popen() => Pas de sortie

Je suis en train de lancer un script Perl à partir de l'intérieur de Python, mais je n'ai pas de sortie dans stdout(), tandis que mon script fonctionne parfaitement quand je le lance à partir d'un shell.

Tout d'abord, voici comment je l'exécuter à partir du shell (à supposer que je suis sur le bon répertoire):

./vmlinkedclone.pl --server 192.168.20.2 --username root --password root 
--vmbase_id 2 --vm_destination_id 41 --vmname_destination "clone-41-snapname" --snapname Snapname

#=> True, []
#=> or False, and a description of the error here 
#=> or an argument error

Et voici comment j'ai essayer de l'appeler à partir de Python:

cmd = ['/home/user/workspace/vmlinkedclone.pl', '--server', '192.168.20.2', '--username', 'root', '--password', 'root' ,'--vmbase_id', '2', '--vm_destination_id', '41', '--vmname_destination', 'clone-41-snapname', '--snapname', 'Snapname']
pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
result = pipe.stdout.read()

print "Result : ",result
#=> Result :

Pourquoi dois-je obtenir le résultat désiré, quand je lance mon script de Shell, et obtiendrez rien de Python ?

InformationsquelleAutor | 2012-11-19