这是一个内牛满面的问题,我从半年前开始找这个问题的答案,今天才解决……
需求版本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()