0

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] 与第一个示例中使用的字符串完全相同,也不起作用。

谁能解释为什么?我在谷歌上找不到任何东西。

4

1 回答 1

3

为了调试这样的问题,我使用这种方法:

cmd = ["mplayer", musicdb[56]]
print repr(cmd)
subprocess.Popen(cmd, ...)

使用repr,您可以看到所有可能隐藏在看似无辜的字符串中的奇怪内容(例如,末尾的额外换行符)。

于 2013-11-13T10:21:11.237 回答