Python numpy';s tostring()返回不熟悉的字符

Python numpy';s tostring()返回不熟悉的字符,python,numpy,scipy,wav,tostring,Python,Numpy,Scipy,Wav,Tostring,在调整scipy的wavfile阅读器以一次只读取数据块的过程中,我遇到了numpy的tostring()方法的一些问题。使用默认读取器提取信号并转换为字节效果良好。但是,一旦我使用numpy的fromstring()读取了一定数量的数据(长度512000),tostring()就不再工作了。打印结果要么是一个空行,要么是终端询问我是否要安装十几种新字体。我在提取数据时使用数据类型,如 signal=np.fromstring(fid.read(512000),dtype=dtype) 打印(s

在调整scipy的wavfile阅读器以一次只读取数据块的过程中,我遇到了numpy的tostring()方法的一些问题。使用默认读取器提取信号并转换为字节效果良好。但是,一旦我使用numpy的fromstring()读取了一定数量的数据(长度512000),tostring()就不再工作了。打印结果要么是一个空行,要么是终端询问我是否要安装十几种新字体。我在提取数据时使用数据类型,如

signal=np.fromstring(fid.read(512000),dtype=dtype)

打印(signal.tostring())


这通常会产生一个空行。如果我试图强制输入一个数据类型,那么它会输出不存在的随机字符。使用scipy.io.wavfile读取该文件,然后获取其长度为512000的段,仍然可以使用tostring()正确转换,因此我知道这不是长度或类型错误。tostring()方法是否存在此类常见错误?如何修复它们?

您所说的“使用默认读取器提取信号并转换为字节效果良好”是什么意思?您的意思是可以使用
scipy.io.wavfile.read()
读取wav文件,并使用
tostring()打印它吗?如何打开
fid
?我怀疑这与您在打开
fid
时选择使用的编码有关,
scipy.io.wavfile.read()
会为您提供帮助。@PaSTE我从scipy.io.wavfile.read()和我的代码中获得完全相同的数据-相同的长度、相同的类型、相同的值。但是,tostring()方法只能处理wavfile.read()中的数据。fid是用“rb”打开的,就像scipy.io.wavfile.read()中的fid一样。
tostring
docs:
构造包含数组中原始数据字节的Python字节。
换句话说,
tostring
是字节字符串形式的原始数据。它并不意味着被“打印”或显示。必须尝试使用
fromstring
查看
tostring
的结果吗?欢迎访问该网站:您可能需要阅读,并相应地重新回答您的问题。