【发布时间】:2014-08-03 07:33:59
【问题描述】:
我使用这个脚本来运行交互式 VLC bash:
import os
import sys
if len(sys.argv) > 1:
tmp = os.popen('vlc -I rc --novideo --noaudio --rc-fake-tty -q udp://@1.2.3.4:1234').read()
else :
print "Error: no input"
现在在这个打开的 bash 中我喜欢运行“信息”命令,怎么做?
如果我在 bash 中输入
vlc -I rc --novideo --noaudio --rc-fake-tty -q udp://@1.2.3.4:1234
显示这个
VLC media player 2.0.8 Twoflower (revision 2.0.8a-0-g68cf50b)
VLC media player 2.0.8 Twoflower
Command Line Interface initialized. Type `help' for help.
>
它等待获取命令。
【问题讨论】:
-
第一个问题是,你为什么用
os.popen?这是一个被弃用的函数,它从来都不容易使用,并且在不同的时间都有严重的错误。在 Python 2.6 之前有使用它的借口,但从 2.6+ 开始,你永远不应该使用它。这就是为什么docs 和交互式帮助都说不要使用它的原因。
标签: python bash shell os.system