Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Dll в Python


Автор: Magister Y0da 29.11.2006, 13:08
Подскажите пожалуйста как работать с dll(динамическими библиотеками) в Python 
Желательно на примере unrar.dll

Автор: J2A 30.11.2006, 07:01
Как раз то, что ты хочешь: http://www.averdevelopment.com/python/UnRAR.html

Автор: Magister Y0da 11.12.2006, 11:54
Спасибо!

Автор: Magister Y0da 12.12.2006, 14:41
блин я посмотрел его но в нём кажись нету функции открытия/распаковки архива с паролем =(

Автор: SAnty 14.12.2006, 13:44
Привет.

Почему нет - есть. Когда создаёшь класс Arhive вторым параметром можна указать пароль для распакоски файла архива. По умолчанию он - none.

Пример :
Код

cleanup()
UnRAR.Archive('test.rar','password').extract('*.txt')
assert os.path.exists(r'test\test.txt')
assert not os.path.exists(r'test\this.py')
cleanup()



Если хотите посмотреть более детально, то зайдите в каталог 
..\Python24\Lib\site-packages\UnRAR\ в нём есть файл __init__.py (файл инициализации модуля unrar) 

Спасибо.

Автор: Magister Y0da 18.12.2006, 16:21
Traceback (most recent call last):
  File "C:\Python25\Lib\site-packages\UnRAR\samples\samples.py", line 1, in <module>
    import UnRAR
  File "C:\Python25\lib\site-packages\UnRAR\__init__.py", line 33
    from __future__ import generators
SyntaxError: from __future__ imports must occur at the beginning of the file

ЧТО ЭТО ОЗНАЧАЕТ???

Автор: setq 18.12.2006, 18:17
Ну значит, что в C:\Python25\lib\site-packages\UnRAR\__init__.py from __future__ import generators должно быть в начале файла. Ну так если с английского перевести.

Автор: DeadLine 30.1.2007, 19:04
Вопрос от Йоды

Цитата

а как проверить на валидность?

Автор: Magister Y0da 31.1.2007, 15:10
 smile как проверить подходит пассворд или нет, чтобы выдавать сообщение? smile 

Автор: sir_Jack 31.1.2007, 22:52
Для тех кому вообще интересна работа с длл могу посоветовать покопать в сторону модуля windll 
вот тока не помню где его нашел smile

Автор: pythonwin 1.2.2007, 13:53
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/117219
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/208699
http://www.nightmare.com/~rushing/dynwin/

Автор: krwlr 2.2.2007, 14:17
я ctypes использую, вполне доволен. smile 

from ctypes import *
windll.kernel32.ExitProcess()

Автор: Magister Y0da 2.2.2007, 14:30
я вапще не понял чё за ссылки
ничего там не понимаю можно с комментариями?
причём здесь ctypes?

Автор: pythonwin 2.2.2007, 14:48
Цитата(sir_Jack @  1.2.2007,  01:52 Найти цитируемый пост)
Для тех кому вообще интересна работа с длл могу посоветовать покопать в сторону модуля windll 
вот тока не помню где его нашел smile


Magister Y0da, это ссылки по пакету, который посоветовал sir_Jack

Цитата(Magister Y0da @  2.2.2007,  17:30 Найти цитируемый пост)
причём здесь ctypes? 

http://starship.python.net/crew/theller/ctypes/
http://www.santysoft.narod.ru/
http://prog.org.ru/forum/topic_3745.html
http://www.google.ru/search?aq=t&oq=&hl=ru&client=firefox-a&rls=org.mozilla%3Aru%3Aofficial&hs=oAH&q=ctypes&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru

Автор: Magister Y0da 2.2.2007, 15:02
а вопрос то изначально был: как проверить подходит пассворд или нет, чтобы выдавать сообщение? 

Автор: pythonwin 2.2.2007, 15:16
Цитата(Magister Y0da @  2.2.2007,  18:02 Найти цитируемый пост)
а вопрос то изначально был: как проверить подходит пассворд или нет, чтобы выдавать сообщение?  

Magister Y0da, попроси выделить в отдельную тему smile

Автор: setq 2.2.2007, 18:45
Легче создать новую тему.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)