Subprocess.Popen参数未传递给新进程

时间:2013-11-13 10:14:19

标签: python subprocess

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

任何人都可以解释原因吗? 我在谷歌上找不到任何东西。

1 个答案:

答案 0 :(得分:3)

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

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

使用repr,您可以看到可能隐藏在一个无辜的字符串中的所有奇怪的东西(例如,最后的新行字符)。