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] は最初の例で使用したものとまったく同じ文字列ですが、機能しません。

誰でも理由を説明できますか?Googleで何も見つかりません。

4

1 に答える 1

3

このような問題をデバッグするには、次のアプローチを使用します。

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

を使用reprすると、無邪気に見える文字列に隠れている可能性のあるすべての奇妙なもの (たとえば、末尾の余分な改行文字など) を確認できます。

于 2013-11-13T10:21:11.237 に答える