Sto chiamando rtmpdump tramite sottoprocesso e sto provando a reindirizzare il suo output su un file. Il problema è che semplicemente non riesco a reindirizzare.Python: come faccio a reindirizzare questo output?
Ho provato prima la configurazione di sys.stdout nel file aperto. Funziona per, per esempio, ls, ma non per rtmpdump. Ho anche provato a impostare sys.stderr solo per essere sicuro e non ha funzionato.
Ho provato quindi a utilizzare un "file" con l'argomento della riga di comando, ma ancora non sembra funzionare.
Anche per la registrazione, per qualche motivo, Eclipse stampa l'output di rtmpdump anche se utilizzo subprocess.call anziché subprocess.check_output e senza dover chiamare il metodo di stampa. Questa è magia nera!
Qualche suggerimento?
Modifica: ecco alcuni esempi di codice.
# /!\ 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' di solito viene reindirizzato a' stdout' del genitore senza fare niente per impostazione predefinita. Potresti pubblicare il codice che hai attualmente? –
Vedere la mia risposta qui sotto. Potresti usare subprocess.popen (..) – pyfunc
@pyfunc: Sto cercando di capire come usare il popen, ci proverò. – dmc