我通过子进程调用rtmpdump并尝试将其输出重定向到文件.问题是我根本无法重定向它.
我尝试首先将sys.stdout设置为打开的文件.这适用于ls,但不适用于rtmpdump.我也试过设置sys.stderr只是为了确保它也没有用.
我尝试使用命令行参数的">>文件",但它似乎不起作用.
同样为了记录,由于某种原因,Eclipse打印rtmpdump的输出,即使我使用subprocess.call而不是subprocess.check_output,也无需调用print方法.这是黑魔法!
有什么建议?
编辑:这是一些示例代码.
# /!\ 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)
Run Code Online (Sandbox Code Playgroud) 我是乳胶新手,但似乎你可以暂时重新定义一些命令?我遇到的问题是通常引用的是(SMITH,2000).但有时候,我想让史密斯(2000)代替.无论如何我可以暂时重新定义它,然后在代码"块"之后再次使用标准版本?