Перейти к содержимому

Как открыть rar архив python

  • автор:

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Первая программа — распаковщик архивов

#1 Март 1, 2011 09:21:18

n2b От: Зарегистрирован: 2011-02-10 Сообщения: 125 Репутация: 0 Профиль Отправить e-mail

Первая программа — распаковщик архивов

После изучения синтаксиса, решил написать программу в целях следующей стадии изучения языка.
Программа должна открыть и распаковать *.rar, *.zip, *.7z архив.
Т.е. пользователь выбирает папку, программа ищет и распаковывает всех архивы в ней. Потом буду добавлять разные фичи в нее, аля автоматического ввода логина и пароля из текстового файла и т.д.
У меня сразу возникли вопросы, как открыть папку и сделать в ней поиск, как распаковать, т.е. я даже не представляю как это надо написать, какой будет код… Поэтому вопрос следующий, с чего начать? Где почитать про это?

#2 Март 1, 2011 10:06:10

cutwater От: Зарегистрирован: 2009-01-08 Сообщения: 444 Репутация: 19 Профиль Отправить e-mail

Первая программа — распаковщик архивов

#3 Март 1, 2011 23:14:21

doza_and От: Зарегистрирован: 2010-08-15 Сообщения: 4138 Репутация: 252 Профиль Отправить e-mail

Первая программа — распаковщик архивов

Можно для затравки это посмотреть

import sys,glob,os,re
import datetime

def ClearDir(nm):
"очистка директории"
for i in glob.glob(nm+"/*"):
os.remove(i)

def UnRar(src,dest):
"распаковка данных в директорию"
filename=os.path.abspath(src)
if not os.path.exists(filename):
raise Exception("file not found "+ filename)
wd=os.getcwd()
# ClearDir(dest);
os.chdir(dest)
os.system("rar e -o+ %s " % filename)
os.chdir(wd)

def UnArj(src,dest):
"распаковка данных в директорию"
filename=os.path.abspath(src)
if not os.path.exists(filename):
raise Exception("file not found "+ filename)
wd=os.getcwd()
os.chdir(dest)
# CliarDir(dest);
os.system("arj e -y %s " % filename)
os.chdir(wd)

def UnPack(src,dest):
if src[-4:]==".rar" or src[-4:]==".RAR":
UnRar(src,dest)
elif src[-4:]==".arj" or src[-4:]==".ARJ":
UnArj(src,dest)

Открыть архив формата rar в PyCharm

Hello world!:)
Сейчас я в самом начале своего пути в программировании, и заранее извиняюсь, если этот вопрос покажется глупым(
Дело в том, что у меня не получается открыть архив .rar с файлами с дз других ребят в программе PyCharm.
Открывается окно с кучей неопознаваемых символов и знаками «?» вместо букв и цифр кода.
Может, нужно что-то дополнительно скачать?
Заранее спасибо!

P.S.: zip открывается; rar сжимала в zip, но и это не помогло — открывается текстовой файл с такими же символами.

python-unrar

Work with RAR archive files through unrar library using ctypes.

Install UnRAR library

python-unrar requires UnRAR library. You can download UnRAR library sources from:

http://www.rarlab.com/rar_add.htm 

and compile (you may need to rename the makefile that you want to use according to your OS) and install it from there:

$ make lib $ make install-lib 

For Windows you can also download the already compiled library (http://www.rarlab.com/rar/UnRARDLL.exe).

If you prefer not to install the library, you should make it «findable» by adding the library file to a directory where libraries are searched (or change required environment variable).

As an alternative, you can also set UNRAR_LIB_PATH variable in your environment to the library path and python-unrar will try to load the UnRAR library from there.

Testing without installing

You can build from source with:

$ python setup.py build 

And then run a Python shell with unrar available:

$ PYTHONPATH=`pwd`/build/lib python 

Or you could also directly add the unrar directory from this repo to your PYTHONPATH . In any case you will still need to make the unrar library available as mentioned above.

Install python-unrar

To install python-unrar:

$ pip install unrar 

Examples

>>> from unrar import rarfile >>> rar = rarfile.RarFile('sample.rar') >>> rar.namelist() [u'test_file.txt'] >>> rar.printdir() File Name Modified Size test_file.txt 2013-04-14 08:20:28 17 >>> rar.testrar() >>> info = rar.infolist()[0] >>> info.filename u'test_file.txt' >>> info.file_size 17L >>> info.date_time (2013L, 4L, 14L, 8L, 20L, 28L) >>> rar.extractall() >>> rar.read('test_file.txt') 'This is for test.' 

Как распаковать .rar архив с паролем ? Python

Пробовал с помощью библиотеки rarfile, смог распаковать .rar архив без пароля, но при распаковке архива с паролем, столкнулся с такой ошибкой ‘test.rar’ is encrypted with WZ_AES encryption and requires a password

Отслеживать
задан 20 фев 2023 в 23:58
355 2 2 серебряных знака 11 11 бронзовых знаков

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

password = 'pass' file.extractall(pwd=password) 

Отслеживать
ответ дан 21 фев 2023 в 6:49
461 3 3 серебряных знака 6 6 бронзовых знаков
Что такое file ?
21 фев 2023 в 13:06

Я не знаю что это было, но сегодня это заработало, вчера тоже самое делал, и ничего не работало. Видимо я вчера установил нужные компоненты, но не перезагрузил пк, поэтому была ошибка

21 фев 2023 в 19:04

@Robot Если вы копировали текст с какого-либо сайта, то могла кодировка вставленного текста просто не восприниматься вашей IDE, у меня в PyCharm иногда бывает такое

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *