python - फिर मेमोरी बाइट्स(बाइट्सियो) में पढ़ना एक खाली परिणाम देता है



byte gzip (1)

आपको स्मृति फ़ाइल में प्रारंभिक लिखने के बाद फ़ाइल की शुरुआत में वापस जाने की आवश्यकता है ...

myio.seek(0)

मैं अजगर बाइट्सियो वर्ग को आज़माना चाहता था।

प्रयोग के तौर पर मैंने मेमोरी में जिप फाइल को लिखने की कोशिश की, और फिर उस जिप फाइल से बाइट्स को वापस पढ़ा। इसलिए gzip फ़ाइल-ऑब्जेक्ट में पास करने के बजाय, मैं एक BytesIO ऑब्जेक्ट में पास करता BytesIO । यहाँ पूरी स्क्रिप्ट है:

from io import BytesIO
import gzip

# write bytes to zip file in memory
myio = BytesIO()
g = gzip.GzipFile(fileobj=myio, mode='wb')
g.write(b"does it work")
g.close()

# read bytes from zip file in memory
g = gzip.GzipFile(fileobj=myio, mode='rb')
result = g.read()
g.close()

print(result)

लेकिन यह result लिए एक खाली bytes ऑब्जेक्ट लौटा रहा है। यह पायथन 2.7 और 3.4 दोनों में होता है। मैं क्या खो रहा हूँ?





bytesio