मैं इस तरह अजगर में एक बाइनरी फ़ाइल पढ़ रहा था:अजगर: खोल आईबीएम 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)
आईईईई चल बिन्दु खोल के लिए है, अपने डेटा आईबीएम 32-बिट नाव बिंदु है संख्या
मेरा प्रश्न है: आईबीएम 32-बिट फ्लोट पॉइंट प्रकार संख्याओं को अनपैक करने के लिए मैं अपने unpack
को कैसे लागू कर सकता हूं?
मुझे बेहतर प्रदर्शन प्राप्त करने के लिए पायथन का विस्तार करने के लिए ctypes
जैसे उपयोग करने में कोई फर्क नहीं पड़ता।
संपादित करें: मैं कुछ खोज किया: http://mail.scipy.org/pipermail/scipy-user/2009-January/019392.html
यह बहुत आशाजनक दिखता है, लेकिन मैं और अधिक कुशल प्राप्त करना चाहते हैं: छोरों के हजारों की संभावित दसियों देखते हैं।
संपादित करें: नीचे उत्तर पोस्ट किया गया। पारितोषिक के लिए धन्यवाद।
http://mail.scipy.org/pipermail/scipy-user/2009-January/019392.html देखें – NPE
@aix, किसी भी endianness मुद्दों के बारे में पता होना करने के लिए? –
कृपया उस उत्तर को एक उत्तर के रूप में दोबारा पोस्ट करें, और इसे दो दिन बाद स्वीकार करें। अपने प्रश्न का उत्तर न जोड़ें। – agf