【发布时间】:2020-08-05 10:18:40
【问题描述】:
写入txt文件的开头可以这样实现:
with open('foo.txt', 'wt') as outfn:
for i in range(10):
outfn.write('{}\n'.format(i))
with open('foo.txt', 'r+') as fn:
content = fn.read()
fn.seek(0, 0)
fn.write('foo\n{}'.format(content))
但是,当我尝试写入 gzip 文件的开头时:
import gzip
with gzip.open('foo.txt.gz', 'wt') as outfn:
for i in range(10):
outfn.write('{}\n'.format(i))
with gzip.open('foo.txt.gz', 'r+') as fn:
content = fn.read()
fn.seek(0, 0)
fn.write('foo\n{}'.format(content))
抛出以下错误:
OSError: [Errno 9] write() on read-only GzipFile object
我尝试了多种替代方法,但无法想出一种合适的方式将文本写入 gzip 文件的开头。
【问题讨论】: