我正在使用Python中的wave
模块读取一个wav
音频文件。该库中的readframe()
函数会将帧以十六进制字符串的形式返回。我想要去掉这个字符串中的\x
,但是translate()
函数并没有按照我的期望工作:
>>> input = wave.open(r"G:\Workspace\wav\1.wav",'r')
>>> input.readframes (1)
'\xff\x1f\x00\xe8'
>>> '\xff\x1f\x00\xe8'.translate(None,'\\x')
'\xff\x1f\x00\xe8'
>>> '\xff\x1f\x00\xe8'.translate(None,'\x')
ValueError: invalid \x escape
>>> '\xff\x1f\x00\xe8'.translate(None,r'\x')
'\xff\x1f\x00\xe8'
>>>
任何方式都可以将结果值除以2,然后再添加\x并生成一个包含这些新值的新wav文件。有更好的想法吗?
怎么了?
'è\x00ñ'
。关于长度 - 我在初始字符串中尝试使用反斜杠。 - Dmitry