unpresspressing tar.Z файл с python?

Мне нужно написать скрипт python, который извлекает tar.Z-файлы с FTP-сервера и распаковывает их на машине Windows. tar.Z, если я правильно понял, это результат команды сжатия в Unix.

Python, похоже, не знает, как обращаться с ними, это не gz, ни bz2, ни zip. Кто-нибудь знает библиотеку, которая бы справлялась с ними?

  • Python - механизм для идентификации сжатого типа файла и распаковки
  • Модуль zipfile python, похоже, не сжимает мои файлы
  • Python распаковывает поток байтов?
  • Сценарий Python для минимизации CSS?
  • Python: сокращение использования памяти словарем
  • Как мне сжать сжатие строки в Python?
  • заранее спасибо

  • Скрипт Python не выполняет команду sysinternals
  • ключи переключения и значения в словаре в python
  • Как добавить пользовательский loglevel в средство ведения журнала Python
  • Анализ CSV-файла в pandas с запятыми в последнем столбце
  • Python: проверьте, является ли объект последовательностью
  • как получить все возможное сочетание элементов из 2-мерного списка в python?
  • 3 Solutions collect form web for “unpresspressing tar.Z файл с python?”

    Если GZIP – приложение – может справиться с этим, у вас есть два варианта.

    1. Попробуйте библиотеку gzip Python. Это может сработать.

    2. Используйте subprocess Popen для запуска gzip для вас.

    Это может быть файл InstallShield .Z. Вы можете использовать InstallShield, чтобы распаковать его и извлечь файл .TAR. Опять же, вы можете использовать subprocess Popen для обработки файла.

    Он также может быть «сжатым файлом LZW». Посмотрите на эту библиотеку, это может помочь.

    http://www.chilkatsoft.com/compression-python.asp

    Поскольку вы ориентируетесь на определенную платформу (Windows), самым простым решением может быть запуск gzip в системном вызове: http://www.gzip.org/#exe

    Существуют ли в вашем проекте другие требования, чтобы декомпрессия выполнялась в Python?

    Простой модуль Python, который сжимается, является неубедительным, AFAIK, но его можно построить, учитывая некоторые знания:

    • спецификация заголовка формата .Z
    • формат сжатия .Z

    Почти всю необходимую информацию можно найти в Unarchiver CompressAlgorithm . Дополнительная информация из wikipedia для адаптивной LZW и, возможно, страницы сжатия .

    В основном, вы читаете первые три байта (первые два – магические байты), чтобы изменить свой алгоритм, а затем начать чтение и декомпрессию.

    Там много бит-скриптов (файлы .Z начинаются с 9-разрядных токенов, до 16-битных, а затем сбрасывают таблицу символов в исходные значения 256 + 2), что, вероятно, вы будете иметь дело с выполнением двоичных операций ( & , <<= т. д.).

    Python - лучший язык программирования в мире.