Распакуйте существующий файл json в python 2.7 - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу сжать существующий файл json в python, но приведенный ниже код дает ошибку. это из-за python версии?

cat Comp.py

#!/usr/bin/python

import gzip
import os
import json

input = open("/home/jigu/Downloads/360.json", 'rb')
s = input.read()
input.close()

output = gzip.GzipFile("/home/jigu/Downloads/360.json.gz", 'wb')
output.write(s)
output.close()

print("done")

Ошибка

$ ./Comp.py 
Traceback (most recent call last):
  File "./Comp.py", line 3, in <module>
    import gzip
  File "/home/jigu/python/bin/gzip.py", line 11, in <module>
    import __builtin__
AttributeError: 'module' object has no attribute 'GzipFile'

Python Версия

$ python --version
Python 2.7.12

1 Ответ

0 голосов
/ 28 апреля 2020

Я просмотрел документы модуля gzip и, если я не ошибаюсь, ваш код должен работать, тем не менее раздел примеров содержит код для gzip-кода существующего кода с использованием gzip.open, который после взятия путей из вашего кода будет:

import gzip
import shutil
with open("/home/jigu/Downloads/360.json", 'rb') as f_in, gzip.open("/home/jigu/Downloads/360.json.gz", 'wb') as f_out:
    shutil.copyfileobj(f_in, f_out)

Можете ли вы проверить, работает ли он для вас?

В качестве примечания: вам не нужно import json здесь, так как вы не выполняет синтаксический анализ JSON или сериализацию python объекта в JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...