我正在尝试运行此代码,该代码应使用VLC打开所选的mp3,使用第1行作为音频输出,并在完成后关闭。但这些论点似乎都没有通过。
Python代码
import subprocess
vlcpath = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe"
audiopath = "C:\\Users\\Aidan\\Desktop\\test.mp3"
args = [vlcpath, audiopath, "--aout=waveout", '--waveout-audio-device="Line 1 (Virtual Audio Cable) ($1,$64)"', "--play-and-exit"]
subprocess.call(args, shell=True)
for i in args: #for diagnostic purposes
print(i)
哪个应该与此命令行输入类似地运行
"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" C:\Users\Aidan\Desktop\test.mp3 --aout=waveout --waveout-audio-device="Line 1 (Virtual Audio Cable) ($1,$64)" --play-and-exit
命令行输入正常播放和播放,并播放到第1行。蟒蛇代码播放和退出,但不播放到第1行。
编辑:我应该提到我正在使用python 3.4.4
答案 0 :(得分:0)
由于shell为true,因此列表的字符串表示形式将传递给命令行,而这不是您想要的。仔细查看此页面上的示例https://docs.python.org/2/library/subprocess.html