musicdb [56]是“C:\\ Users \\ Andrew \\ song.mp3”
所以我正试图将一首歌传递给mplayer,如果我引用这首歌就可以了:
player = subprocess.Popen(["mplayer", "C:\\Users\\Andrew\\song.mp3"], creationflags = subprocess.CREATE_NEW_CONSOLE)
但
player = subprocess.Popen(["mplayer", musicdb[56]], creationflags = subprocess.CREATE_NEW_CONSOLE)
即使musicdb [56]与第一个示例中使用的字符串完全相同,也不起作用。
任何人都可以解释原因吗? 我在谷歌上找不到任何东西。
答案 0 :(得分:3)
要调试这样的问题,我使用这种方法:
cmd = ["mplayer", musicdb[56]]
print repr(cmd)
subprocess.Popen(cmd, ...)
使用repr
,您可以看到可能隐藏在一个无辜的字符串中的所有奇怪的东西(例如,最后的新行字符)。