子流程.Popen参数未传递到新进程

2024-10-04 07:26:43 发布

您现在位置:Python中文网/ 问答频道 /正文

musicdb[56]是“C:\\Users\\Andrew”\\歌曲.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]与第一个示例中使用的字符串完全相同,也不起作用。你知道吗

有人能解释为什么吗? 我在谷歌上找不到任何东西。你知道吗


Tags: newsongcreate歌曲mp3usersconsolemplayer
1条回答
网友
1楼 · 发布于 2024-10-04 07:26:43

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

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

使用repr,您可以看到隐藏在一个看起来很天真的字符串中的所有奇怪的东西(例如,在末尾额外的新行字符)。你知道吗

相关问题 更多 >