Some HAT...

= Анабар.ru => Python-форумы => Язык программирования Python => сообщение 741
| Вход | Регистрация
нет
фото
Автор:  Dirk Diggler
Дата:  10-Dec-2005 21:51 (gmt = -3.0)
E-mail:  vorlogo@rambler.ru

Цель была заставить регэкспы заработать. 8-) (+)

Надо: по определенному шаблону найти текст и сохранить его в какой-либо переменной. А получалось так, что из found, который является экземпляром match object, получить ту последовательность символов, которая совпала с регэкспом, невозможно. Так как и found.string[found.pos:found.endpos] дают всю СТРОКУ целиком.

Вы писали:

1  37      out_file.write(patResList[1]) # он в юникоде

В юникоде - не в юникоде, а пишется вот что:

1  E:\Python24>python.exe 3.py
2  4
3  [u' \u4e0d', u' \u4e0d', u' \u4e0d', u' \u4e0d']
4  Traceback (most recent call last):
5    File "3.py", line 20, in ?
6      out_file.write(patResList[1])
7  UnicodeEncodeError: 'ascii' codec can't encode character u'\u4e0d' in position 1
8  : ordinal not in range(128)

Такую ошибку порождает даже такой скрипт:

1  inp_file=open('xian2.txt')
2  cur_line=unicode(inp_file.read(),'utf-8')
3  print cur_line



все сообщения ветви:

Недостаточно прав для написания ответа
Время генерации страницы в секундах: 0.070