へ/から圧縮されたJSONオブジェクトを読み出し/書き込み、私はこれで@Martijn Pieters's codeを追っ:のPython 3は、のpython3のGzipファイル
import gzip
import json
# writing
with gzip.GzipFile(jsonfilename, 'w') as fout:
for i in range(N):
uid = "whatever%i" % i
dv = [1, 2, 3]
data = json.dumps({
'what': uid,
'where': dv})
fout.write(data + '\n')
が、これはエラーになります:
Traceback (most recent call last):
...
File "C:\Users\Think\my_json.py", line 118, in write_json
fout.write(data + '\n')
File "C:\Users\Think\Anaconda3\lib\gzip.py", line 258, in write
data = memoryview(data)
TypeError: memoryview: a bytes-like object is required, not 'str'
任意の考えについて何が起こっている?
コードはおそらく念頭にpython2で書かれた
読書は、他の方法で回避正確に動作します。データのエンコードを試みてください: '(data + '\ n')。encode( 'utf-8')'。 – Bakuriu
@バクリオーいいえ、同じエラーです。 –