Найти - Пользователи
Полная версия: Странный вопрос...
Начало » Python для новичков » Странный вопрос...
1
vlados
У меня есть файл с примерно таким содержимым, там не только цифры, но и текст.
<la>1</la>
<q>11</q>
<la>2</la>
<q>22</q>
<la>3</la>
<q>33</q>
<la>4</la>
<q>44</q>
Название в тегах “la”, описание в теге “q”.
Нужно открыть файл, выбрать 1-е название и 1-е описание и присвоить в переменную, для дальнейшей работы, все это в цикле, то есть с первым названием и описанием закончили работу, приступаем ко второму названию и описанию, и так далее пока не кончатся содержимое…
Пробовал так но не вышло, билеберду выводит и не правильно работает….
import re

f = open('1')

for i in f:
pname = re.findall(r'<la>(.*?)</la>', i)
pcontent = re.findall(r'<q>(.*?)</q>', i)
print pname
print pcontent
boltayka
Для начала надо было сделать сплит файла…
string.split.....
Но вообще это ни к чему, и все данные можно получить без цикла.. А цикл с нужными функциями уже ниже добавить.
 # -*- coding: utf8 -*-
import re
f = '''<la>1</la>
<q>11</q>
<la>2</la>
<q>22</q>
<la>3</la>
<q>33</q>
<la>4</la>
<q>44</q>''' #тут открывайте файл.

pname = re.findall(r'<la>(.*?)</la>', f)
pcontent = re.findall(r'<q>(.*?)</q>', f)
print pname, pcontent

for one, two in zip(pname, pcontent):
print one
print two
vlados
boltayka, спасибо!!!!
А что значит функция zip?
boltayka
vlados
А что значит функция zip?
Синхронная работа с несколькими циклами…
Строка for one, two in zip(pname, pcontent) объединяет for one in pname и for two in pcontent на одном уровне…
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