Не удается распаковать с помощью GZIP: Ошибка отслеживания

#python #compression #gzip #traceback

Вопрос:

Когда я пытаюсь использовать GZIP для распаковки, он выдает сообщение об ошибке Exception in Tkinter callback Traceback (most recent call last) . Сжатие работает, файл помещается в архив, и я могу его открыть.

 import gzip
import os
import tkinter as tk
from tkinter import filedialog
import shutil
from contextlib import ExitStack
import json


def decomp(path):
    json.loads(path)
    str_path = str(path)
    dec = gzip.decompress(str_path)
    print("Decompressed")


def comp(path):
    with ExitStack() as stack:
        f_in = stack.enter_context(open(path, 'rb'))
        f_out = stack.enter_context(gzip.open(path   ".gz", 'wb'))
        shutil.copyfileobj(f_in, f_out)
 

Путь передается в виде строки. Любая помощь будет признательна.

Редактировать:

Более подробно о обратном отслеживании:

Исключение в Tkinter обратного вызова обратная трассировка (самый недавний призыв последнего): файл «C:UsersAppDataLocalProgramsPythonPython39libtkinter_инит_.ру», линия 1884, в вызове вернуть себе.как func(*параметр args) файл «C:UsersuserOneDriveDocumentsWorkCompression_Projectproject Вт zlib.py», строка 77, в decompress_button разложения(путь=самоуправления.путь) файл «C:UsersuserOneDriveDocumentsWorkCompression_Projectproject Вт zlib.py», строка 12, в разложение в формате JSON.нагрузок(путь) файл «C:UsersuserAppDataLocalProgramsPythonPython39libjson_инит_.py», строка 346, в файле » возвращает _default_decoder.decode(ы) «C:UsersuserAppDataLocalProgramsPythonPython39libjsondecoder.py», строка 337, в файле decode obj, end = self.raw_decode(s, idx=_w(s, 0).end ()) «C:UsersuserAppDataLocalProgramsPythonPython39libjsondecoder.py», строка 355, в raw_decode вызывает ошибку JSONDecodeError(«Ожидаемое значение», s, ошибка. значение) из None json.decoder.Ошибка JSONDecodeError: Ожидаемое значение: строка 1 столбец 1 (символ 0)

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

2. Нам нужна обратная связь, прежде чем мы сможем сказать, что пошло не так.

3. @BoarGules Я добавил еще немного информации о обратной связи.

4.Это не имеет к этому никакого отношения gzip . Обратная трассировка показывает, что ошибка здесь: C:UsersuserOneDriveDocumentsWorkCompression_Projectproject w zlib.py", line 12, in decomp json.loads(path) и из сообщения следует, что ваш код пытается загрузить недопустимый (возможно, пустой) файл JSON.