这是一个内牛满面的问题,我从半年前开始找这个问题的答案,今天才解决……
需求版本1:我需要将字符串直接写入成以gz格式,这个很简单。
import gzip
fp = gzip.open("file", "wb")
fp.write(data)
fp.close()
需求版本2:现在字符串data需要是utf-8的,上述方法就不行了,解决方法:
import codecs
gzfp = gzip.open("file", "wb")
writer = codecs.getwriter("utf-8")(gzfp)
writer.write(data)
gzfp.close()
writer.close()
读取也是类似的:
import codecs
fd0 = gzip.open(fname, 'rb')
fd = codecs.getreader("utf-8")(fd0)
data = fd.readline()