按照在博客和其他帖子中找到的教程和示例,似乎将字符串原样写入一个 .gz
文件的方法是以二进制模式打开它并写入:
import gzip
with gzip.open('file.gz', 'wb') as f:
f.write('Hello world!')
我尝试了一下,结果得到了以下异常:
File "C:\Users\Tal\Anaconda3\lib\gzip.py", line 258, in write
data = memoryview(data)
TypeError: memoryview: a bytes-like object is required, not 'str'
所以我尝试在文本模式下打开文件:
import gzip
with gzip.open('file.gz', 'w') as f:
f.write('Hello world!')
但是我收到了相同的错误:
File "C:\Users\Tal\Anaconda3\lib\gzip.py", line 258, in write
data = memoryview(data)
TypeError: memoryview: a bytes-like object is required, not 'str'
如何在Python3中解决这个问题?
b'Hello world!'
代替'Hello world!'.encode()
。 - Sven