J'appelle rtmpdump via subprocess et essaie de rediriger sa sortie vers un fichier. Le problème est que je ne peux tout simplement pas le rediriger.Python: Comment rediriger cette sortie?
J'ai d'abord essayé d'installer sys.stdout dans le fichier ouvert. Cela fonctionne pour, disons, ls, mais pas pour rtmpdump. J'ai également essayé de régler le sys.stderr juste pour s'assurer et cela n'a pas fonctionné.
J'ai essayé ensuite d'utiliser un ">> fichier" avec l'argument de la ligne de commande, mais encore une fois cela ne semble pas fonctionner.
Également pour l'enregistrement, pour une raison quelconque, Eclipse imprime la sortie de rtmpdump même si j'utilise subprocess.call au lieu de subprocess.check_output, et sans avoir à appeler la méthode d'impression. C'est de la magie noire!
Des suggestions?
Edit: Voici un exemple de code.
# /!\ note: need to use os.chdir first to get to the folder with rtmpdump!
command = './rtmpdump -r rtmp://oxy.videolectures.net/video/ -y 2007/pascal/bootcamp07_vilanova/keller_mikaela/bootcamp07_keller_bss_01 -a video -s http://media.videolectures.net/jw-player/player.swf -w ffa4f0c469cfbe1f449ec42462e8c3ba16600f5a4b311980bb626893ca81f388 -x 53910 -o test.flv'
split_command = shlex.split(command)
subprocess.call(split_command)
'stdout' obtient habituellement redirigés vers' la stdout' du parent sans faire quoi que ce soit par défaut. Pourriez-vous poster le code que vous avez actuellement? –
Voir ma réponse ci-dessous. Vous pouvez utiliser subprocess.popen (..) – pyfunc
@pyfunc: J'essaie de comprendre comment utiliser popen, je vais essayer. – dmc