2017-06-19 35 views
0

我目前正在研究一个小型项目,该项目将采用语音命令,就像您希望亚马逊响应Spotify,为树莓派上的YouTube一样。本质上,我叫出歌曲或艺术家,脚本将运行第一个结果(现在)。Python子流程 - mps-Youtube

我使用的流Youtube视频音频的回复是MPS-YouTube上的图书馆,我在bash自动化完成它,它看起来像这样:

(echo -e "$1"; echo -e "1") | mpsyt 

的第一个参数是查询歌曲,第二个是选择第一个结果。

我遇到的问题是,到目前为止,我可以使用Python中的subprocess模块,它至今看起来像这样运行这个(在Python Shell测试出):

cmd = "/home/pi/bash/play_youtube_song.sh 'tears for fears'" 
ps = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT) 
output = ps.communicate()[0] 
print output

然而,脚本只是打印返回码0,程序似乎没有完全执行。

有什么我可以做,这将确保python将充分运行脚本? 我试过在bash中使用&在后台运行它,但它似乎也不起作用,歌曲无法播放。

在此先感谢。

+0

试图在'sh'运行它,我得到了同样的事情,它可能是下降到子如何使用shell命令 –

回答