11 септември, 2008

Големи текстови файлове в редактора...


Сблъсках се със следния проблем.
Имам разни относително големи текстови файлове - по няколко МБайта.
Като ги отварям с някой текстов редактор, в случая КАТЕ ...редакторът среща определени трудности.
Проблемът се оказва...че текстовият файл няма НИТО един CR или LF, всичко е на един ред.
Уточнение: вътре има XML
За машината да го парсва няма проблем, но ако се наложи да хвърлите по едно око на текста или пък да търсите някакъв стринг в него, па макар и с grep ..... нищо на става. Естествено - това което търсите ще намерите на ред номер 1 (и единствен...)
Добре, че в Python, а може би и в другите езици, има една pretty функция - toprettyxml()
И с тези няколко реда, написани на Python се решава проблемът:


outf = open(output_file_name,"w)
xmldoc = xml.dom.minidom.parse(input_file_name)
new_xml = xmldoc.toprettyxml(encoding="utf-8")
outf.write(new_xml)
outf.close()


В резултат новият файл е читаем и по-удобен за работа, има си символите за нов ред и съответното подравняване и отместване на елементите. Но защо текстовите редактори се затрудняват с големи файлове, които нямат CR LF?? Не знам.....

Няма коментари:

Публикуване на коментар