Как удалить файл с python

Я могу распаковать файл, если файл .zip и unrar файл, если мой тип файла .rar, Как я могу сделать эту работу с Python 2.7?

6 ответов

Решение

Попробуйте pyunpack пакет:

from pyunpack import Archive
Archive('a.zip').extractall('/path/to')

Поздно, но я не был удовлетворен ни одним из ответов.

pip install patool
import patoolib
patoolib.extract_archive("foo_bar.rar", outdir=".")

Работает на Windows и Linux без каких-либо других библиотек.

После некоторого глубокого погружения вот мои выводы:

  • RAR не является свободным открытым форматом и принадлежит RARLabs. Для работы с RAR сначала необходимо установить их DLL или exe. Некоторые программы, такие как 7zip, могут уже включать это в себя.
  • patoolэто приложение, которое предоставляет единую командную строку в качестве оболочки для других внешних приложений сжатия. Изначально он может работать только с TAR, ZIP, BZIP2 и GZIP без необходимости внешней поддержки.
  • pyunpack - это библиотека Python, которая изначально может работать только с zip, но предоставляет интерфейс для patool.

Имея это в виду, у меня сработали следующие вещи:

  • Убедитесь, что установлен 7zip
  • pip install patool pyunpack

Затем, чтобы использовать это,

import pyunpack

pyunpack.Archive(archive_file).extractall(extract_dir)

Хороший пакет для этого rarfile:

Информации и документы здесь:

https://pypi.python.org/pypi/rarfile/

https://rarfile.readthedocs.org/en/latest/api.html

Этот метод требует только установки 7zip.
Безупречно работает на любой системе 7zip.
Пакеты Python вообще не нужны.

      import subprocess
subprocess.run('7z x -oOutdir archive.rar')

Модуль подпроцесса поставляется с python.

Другие вопросы по тегам