मेरे पास एक बाइनरी फ़ाइल है जिसे मुझे पार्स करना है और मैं पायथन का उपयोग कर रहा हूं। क्या 4 बाइट्स लेने और इसे एक सटीक फ्लोटिंग पॉइंट नंबर में बदलने का कोई तरीका है?
आप struct पैकेज चाहते हैं।
>>> import struct >>> struct.pack('f', 3.141592654) b'\xdb\[email protected]' >>> struct.unpack('f', b'\xdb\[email protected]') (3.1415927410125732,) >>> struct.pack('4f', 1.0, 2.0, 3.0, 4.0) '\x00\x00\x80?\x00\x00\[email protected]\x00\[email protected]@\x00\x00\[email protected]'
struct.unpack
3.141592654
float
list()
सूची (struct.pack ('f', 3.141592654))
[21 9, 15, 73, 64]
>>> a = 3.141592654
>>> प्रिंट करें
>> > a_packed = struct.pack ('f', a)
>>> b = struct.unpack ('f', a_packed) [0]
>>> प्रिंट बी
3.14159274101
>>> एक == बी, "एक गैर बी"
ट्रेसबैक (सबसे हालिया कॉल अंतिम):
AssertionError: एक गैर बी