通过网站运行以下python脚本很好,并且(如预期的)停止MPD的回放:
#!/usr/bin/env python
import subprocess
subprocess.call(["mpc", "stop"])
print ("Content-type: text/plain;charset=utf-8\n\n")
print("Hello")
但是,此脚本会导致错误(回放按预期开始):
#!/usr/bin/env python
print("Content-type: text/plain;charset=utf-8\n\n")
print ("Hello")
import subprocess
subprocess.call(["mpc", "play"])
错误是:
malformed header from script. Bad header=Scorpions - Eye of the tiger -: play.py, referer: http://...
显然,回放命令返回的任何内容都被作为标题。在终端运行时,输出看起来很好。为什么会是?
发布于 2014-01-11 22:08:48
mpc play
正在给stdout写信。你得让它闭嘴:
将open(os.devnull,'w')导入os为dev_null: subprocess.call("mpc",“停止”,stdout=dev_null)\r\n
而不是\n\n
来分隔它们。发布于 2014-01-11 22:06:08
您需要使用\r\n
行尾。
https://stackoverflow.com/questions/21068471
复制相似问题