Найти - Пользователи
Полная версия: lxml:запись модифицированного дерева в файл
Начало » Python для новичков » lxml:запись модифицированного дерева в файл
1
guranvir
Парсим файл, модифицируем узел. Успешно все проходит, но естественно что это только в памяти все успешно, а вот в файл это еще надо все записать. И здесь получается, что надо снова все дерево перегнать в файл. Если изменений было очень много согласен все нормально, а если их было мало, то нет ли способа перезаписать в файле только те части дерев, которые изменены?
doza_and
Это одна из многих причин, почему использовать не xml а более разумные хранилища. Для жестко структуированных данных - реляционные базы, для данных в которых много ссылок или динамически меняется схема - объектные базы, для читаемых людьми - разрабатывать язык и делать парсер. B питоне это легко - mysql, zodb, CocoPy.

Мой опыт и общение с другими людьми - достаточно сведущими в этом вопросе со временем убедил меня что xml крайне неудачный формат - компромис такого рода что и человеку читать неудобно и доставать или сохранять медленно и неудобно.

Думаю правда найдутся люди которые со мной не согласятся.
guranvir
Да zodb кстати возможно больше подходит к моей задаче, так как довольно много в структуре данных иззменчиво
doza_and
В zodb есть правда один досадный недостаток при добавлении данных в btree она сильно пухнет - я об этом спрашивал на форуме по db. Надо изредка делать pack базы. Надеюсь это со временем уйдет.
guranvir
Ну везде есть свои недостатки:)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB