【发布时间】:2017-06-09 15:24:47
【问题描述】:
Using csvreader against a gzipped file in Python
with gzip.open('test2.csv.gz', 'w') as f:
#csv_w = csv.writer(io.TextIOWrapper(f, write_through=False)) # write empty csv.gz file
csv_w = csv.writer(io.TextIOWrapper(f, write_through=True)) # ok
csv_w.writerow(['a', 'b', 'c'])
csv_w.writerow([1,2,3])
csv_w.writerow([4,5,6])
https://docs.python.org/3/library/io.html
如果 write_through 为 True,则保证不会调用 write() 缓冲:写入 TextIOWrapper 对象的任何数据都会立即 处理到它的底层二进制缓冲区。
问题> 我想缓冲写入并设置write_through=False。但是,它将生成空的 csv.gz 文件。但是,如果我切换到write_through=True,它会起作用。
这里为什么只支持write_through=True?
Python 版本:3.5
【问题讨论】:
标签: python-3.x csv