Продолжаю изучать Python. На этот раз практиковался в обработке
регулярных выражений. Попутно изготовил программу для для очистки
текста. Например, книги с lib.ru часто приходят в эээ...
непотребном виде. Например, в таком:
http://sunspire.euro.ru/book.txt
Мой скрипт позволяет за секунды превратить эту гадость вот в такую конфетку:
http://sunspire.euro.ru/book-cleaned.txt
Я видел похожие программы (платные, в гуях и до кучи под винду онли), но
результат их работы меня всякий раз не устраивал.
Собственно, документировать тут нечего; если посмотреть на вывод
скрипта, все очевидно:
$ BookCleaner.py --encoding cp1251 book.txt
Processing file: book.txt
Performing basic operations:
Delete multiple spaces ... 4 time(s)
Delete spaces at end ... 6 time(s)
Clear empty lines ... 1 time(s)
Delete multiple lines ... 3 time(s)
Normalize identation ... 9 time(s)
The following variations of broken hyphens found:
Broken hyphenation pattern N1 ... 1 time(s):
>> Аргей-
ской
Operations:
1. Assume as broken hyphens
2. Assume as broken dashes
3. Leave it as is
Please, enter your choice: 1
Broken hyphenation pattern N2 ... 6 time(s):
>> ле- систых
>> до- роге,
>> пли- та
>> гре- ческой
>> неприкосновен- ными,
Operations:
1. Assume as broken hyphens
2. Assume as broken dashes
3. Leave it as is
Please, enter your choice: 1
Broken hyphenation pattern N3 ... 1 time(s):
>> святых --Косьмы
Operations:
1. Assume as broken hyphens
2. Assume as broken dashes
3. Leave it as is
Please, enter your choice: 2
File written: book-cleaned.txt:
975 chars: 37 cleaned
Пользуйтесь
http://sunspire.euro.ru/BookCleaner.py
BTW...
Говорят, что Python - сам по себе тормоз. Говорят, что движок
регекспов тормозной. Это не так. Этот скрипт даже отдельные
операции выполняет гораздо быстрее регексп-aware текстовых
редакторов. Например, тот же ворд успевает сделать прогон только
по одному паттерну, а мой скрипт уже сделал всю работу.
PS LORNewsClient также обновлен.
http://www.linux.org.ru/profile/Sunspire/view-message.jsp?msgid=1117294