我正在讀的二進制文件在python這樣的:蟒:解包IBM 32位浮點
from struct import unpack
ns = 1000
f = open("binary_file", 'rb')
while True:
data = f.read(ns * 4)
if data == '':
break
unpacked = unpack(">%sf" % ns, data)
print str(unpacked)
當我意識到unpack(">f", str)
爲拆包IEEE浮點,我的數據是IBM的32位浮點號碼
我的問題是: 如何促使我的unpack
解壓縮IBM 32位浮點型數字?
我不介意使用像來擴展python以獲得更好的性能。
編輯:我做了一些搜索: http://mail.scipy.org/pipermail/scipy-user/2009-January/019392.html
這看起來非常有前途,但我希望得到更有效:有潛在的數以萬計的循環。
編輯:張貼答案下面。謝謝你的提示。
見http://mail.scipy.org/pipermail/scipy-user/2009-January/019392.html – NPE
@aix,任何排列順序問題要注意的? –
請重新發布該編輯作爲答案,並在兩天後接受它。不要爲你的問題添加答案。 – agf