Уведомления

Группа в Telegram: @pythonsu

#1 Май 15, 2013 17:43:20

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Исключить из чтения архива определенное расширение

Не пойму как сделать обратное этому
надо исключить чтение .exe файлов при чтении всего архива

# -*- coding: utf-8 -*-
import os
import UnRAR2
import fnmatch
file_ext = '*.rar'#расширение файлов для поиска
exe='*.exe'
for root, dirs, files in os.walk('f:/'):
    for name in files:
        
        if fnmatch.fnmatch(name, file_ext):
            print name
            pu=root+'\\'+name
            
            for fi in UnRAR2.RarFile(pu).read_files( condition= '*.txt'):
                for i in fi:
                    print str(i)
так читает только текстовые файлы, если так ‘*’ то все

Офлайн

#2 Май 16, 2013 08:47:48

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Исключить из чтения архива определенное расширение

Не читаются офисные документы
Думаю, если не смогу читать документы офис.doc то просто читать только текстовые документы буду

Офлайн

#3 Май 16, 2013 22:24:36

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Исключить из чтения архива определенное расширение

Может так получится:

# -*- coding: utf-8 -*-
import os
import fnmatch
import UnRAR2
rar_files = "*.rar"
exclude = "*.exe"
for path, dirs, files in os.walk(os.path.abspath(root)):
    for filename in fnmatch.filter(files, rar_files):
        rar = UnRAR2.RarFile(os.path.join(path, filename))
        noexe = [x.index for x in rar.infoiter() if not (x.isdir or fnmatch.fnmatch(x.filename, exclude))]
        for ri, content in rar.read_files(condition=noexe):
            print(content)
ЗЫ. Сам не проверял - не пользуюсь UnRAR2.



Офлайн

#4 Май 17, 2013 06:28:32

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Исключить из чтения архива определенное расширение

pyuser
Да,спасибо,код рабочий
то что я и хотел, а то уже только текстовые ,думал, буду обрабатывать

Офлайн

#5 Май 17, 2013 10:51:22

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Исключить из чтения архива определенное расширение

Всех с праздником!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version