#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.