mp3info用变量filename给出错误

时间:2011-11-08 11:55:35

标签: python

我一直使用mp3info来使用以下语法计算文件长度:

 mp3info -p "%S" /path/to/file

每当我使用带有文件名的代码时,我都会得到正确的输出:

 mp3info -p "%S" far_from_love.mp3

但是,在将文件名存储在字符串变量中然后使用变量时,我会收到错误:

 SyntaxError: invalid syntax

有人能告诉我如何正确使用带有可变文件名的命令吗?

这是使用mp3info的python代码

listing=os.listdir("C:\\Python27")
for f in listing:
    if fnmatch.fnmatch(f,'*.mp3'):

         ext=f[:-4]                             #extract name of file without extension
         WAVE_OUTPUT_FILENAME="%s.wav"%ext
         print WAVE_OUTPUT_FILENAME#save output filename as wav extension
         print f
         x=os.popen('mp3info -p "%S" f).read()
         print x

1 个答案:

答案 0 :(得分:1)

x=os.popen('mp3info -p "%S" f).read()

缺少结束语:

x=os.popen('mp3info -p "%S" ' + f).read()

您可能还想使用更安全的subprocess模块:

import subprocess
x = subprocess.check_output(['mp3info', '-p', '%S', f])