Форум сайта python.su
0
Я обхожу файл и при встрече прекращаю обработку.
но в итоге получается не то =)
весь файл записывается и его содержимое в 2 раза больше чем было =)
Как такое может быть, помогите.
par1 = '<name>online_users</name>'
config = open('ideal/config.xml')
_config = config
part1 = open('part1', 'a')
for config in _config:
if config == par1:
break
else:
print >> part1, (config)
part1.close()
Отредактировано (Дек. 25, 2011 19:37:08)
Офлайн
25
hint: xml это такой формат, и есть библиотеки для работы с ним.
Офлайн
0
а можно по конкретнее или пример там какой-нить.
Я все таки новичек.
Офлайн
25
Ну например:
http://lxml.de/tutorial.html
Офлайн
0
неужели нельзя сделать так, чтобы for просто остановился если встретит нужную строку?
Офлайн
0
А если у меня просто файл, не xml, как сделать обход его элементов и при обнаружении строки завершить процесс?
Оч интересно
Офлайн
25
xxnikolayxxМожно, но для этого нужно знать в какой кодировке срока + если уж мы говорим о xml то строка пожет начинаться с пробелов.
неужели нельзя сделать так, чтобы for просто остановился если встретит нужную строку?
xxnikolayxx
А если у меня просто файл, не xml, как сделать обход его элементов и при обнаружении строки завершить процесс?
with open('some_file') as fd:
for line in fd:
if line.strip() == 'somestring':
breakОфлайн
0
Попробую тогда разобраться с библиотекой.
>>> root = etree.Element("/home/nikola/wingwork/wingwork0.3/ideal/config.xml")
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
root = etree.Element("/home/nikola/wingwork/wingwork0.3/ideal/config.xml")
File "lxml.etree.pyx", line 2568, in lxml.etree.Element (src/lxml/lxml.etree.c:52878)
File "apihelpers.pxi", line 126, in lxml.etree._makeElement (src/lxml/lxml.etree.c:11497)
File "apihelpers.pxi", line 1542, in lxml.etree._tagValidOrRaise (src/lxml/lxml.etree.c:23956)
ValueError: Invalid tag name u'/home/nikola/wingwork/wingwork0.3/ideal/config.xml'
>>>Отредактировано (Дек. 25, 2011 19:37:36)
Офлайн
25
xxnikolayxxВы берете элемент из ниоткуда.
etree.Element
tree = etree.parse("test.xml")Офлайн
0
Все запустилось, теперь мне нужно погрузить все в файл из конфига, до определенной строки.
и как же это реализуется?
Офлайн