Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > >
Восстановить пароль Регистрация
 
Refandler
Форумчанин
7 / 7 / 0
Регистрация: 05.11.2009
Сообщений: 55
27.08.2011, 01:56     Чтение и парсинг файла   #1
Пару часов назад начал учить питон. Дело такое: есть файл, в нем есть строка <title>Текст</title>...как вытащить слово "Текст"?
Код Python
1
2
3
4
5
f = open("test.txt", "r+")
r = f.read()
s = r.compile(ur"<title>(.*?)</title>", r).finditer(r)
print s
f.close()
AdAgent
Объявления
27.08.2011, 01:56    Чтение и парсинг файла
CyBOSSeR
Форумчанин
Эксперт C++
2263 / 1633 / 55
Регистрация: 06.03.2009
Сообщений: 3,676
27.08.2011, 02:28     Чтение и парсинг файла   #2
Refandler,
Код Python
1
2
3
4
5
import re
 
m = re.search('<title>(.*)</title>', '<title>Текст</title>')
 
print(m.group(1))
Refandler
Форумчанин
7 / 7 / 0
Регистрация: 05.11.2009
Сообщений: 55
27.08.2011, 14:24  [ТС]     Чтение и парсинг файла   #3
А как при открытии файла сменить его кодировку?
По примеру инета делал так:
Код Python
1
2
3
4
5
f = open("test.txt", "r+")
r = unicode(f.read(), 'utf-8')
m = re.search('<title>(.*)</title>', r)
print (m.group(1))
f.close()
При запуске консоль ругается:
Код Bash
1
2
3
  File "test.py", line 13, in <module>
    r = unicode(f.read(), 'utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd0 in position 507: invalid continuation byte
CyBOSSeR
Форумчанин
Эксперт C++
2263 / 1633 / 55
Регистрация: 06.03.2009
Сообщений: 3,676
27.08.2011, 16:52     Чтение и парсинг файла   #4
Refandler, сдается мне, что в функцию unicode нужно вторым параметром передавать исходную кодировку (файла), а не целевую.
Refandler
Форумчанин
7 / 7 / 0
Регистрация: 05.11.2009
Сообщений: 55
27.08.2011, 19:35  [ТС]     Чтение и парсинг файла   #5
CyBOSSeR, плин, а я бы не догалася..уже и decode использовал неизвестно зачем а оказалось все так просто
Yandex
Объявления
27.08.2011, 19:35    Чтение и парсинг файла
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему
Опции темы

Текущее время: 13:02. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.