我正在为我的Raspberry Pi Radio创建一个Python脚本。Pi 使用 mpd/mpc 播放音乐,我可以在终端中输入以下命令以查看有关当前播放电台的信息:
mpc current -f "[%position%]"
这将向我展示:
11
随着第11广播电台的播放。
我的问题是,当我把它放在 Python 中提取这个数字以用作我的代码的一部分时,它给了我这个:(我在第一个 % 符号下得到一个 ^)
f=os.open("mpc current -f "[%position%]"")
SyntaxError: invalid syntax
这似乎很奇怪,因为我已经在 Python 脚本中使用了类似的命令,这些命令已经有效,但是它们中没有 % 符号。如:
f=os.popen("mpc current")
我仍在学习 Python,所以如果有人能在这里纠正我,我将不胜感激,因为该命令对我来说似乎是合法的,尤其是两侧的"。我什至尝试使用"而不是",但是如果我这样做,该命令将不起作用。
Python 看到
"string"[%
答:因为%
不是有效的数组下标,所以它指出了语法错误。
os.open('string"[%]"')
是有效的语法,但由于不相关的原因"不起作用"。也就是说,os.open
参数应该是有效的文件名。若要运行外部命令,需要改用subprocess
。