使用numpy

时间:2016-05-03 20:17:52

标签: python string numpy binaryfiles

我有一个二进制文件,其中一些字符数据卡在一堆int和float中间。我试着用numpy读。关于字符数据,我能得到的最远的是:

strbits = np.fromfile(infile,dtype='int8',count=73)

(是的,这是一个73个字符的字符串。)

三个问题:我的数据现在是否存储而不会在strbits中出现损坏或截断?而且,我现在可以将strbits转换为可读字符串吗?最后,我应该以一种完全不同的方式做到这一点吗?

更新: 这是有用的,但我认为会有更优雅的方式。

strarr = np.zeros(73,dtype='c')
for n in range(73):
   strarr[n] = np.fromfile(infile,dtype='c',count=1)[0]

所以现在我有一个数组,其中每个元素都是输入文件中的单个字符。

1 个答案:

答案 0 :(得分:2)

你这样做的方式很好。以下是将其转换为字符串的方法。

strbits = np.fromfile(infile, dtype=np.int8, count=73)
a_string = ''.join([chr(item) for item in strbits])