Найти - Пользователи
Полная версия: Помогите вот это \u0441\u0435\u0440\u0438\u044f
Начало » Python для новичков » Помогите вот это \u0441\u0435\u0440\u0438\u044f
1
lepriconl
Помогите пож. вот это \u0441\u0435\u0440\u0438\u044f привести в нормальный вид!

Если точнее, то есть вот такой вот код:
				url2 = "http://vepizode.net/wp-content/uploads/playlist.php?pl=http://vepizode.net/play/"+rF+"-s"+rS+".txt&rand="
http = GET(urllib.unquote_plus(url2))
r3 = re.findall('"comment":"(.*?)","file":"(.*?)"}', http, re.DOTALL)
if len(r3) == 0:
showMessage('ПОКАЗАТЬ НЕЧЕГО', 'Нет элементов')
return False
for rEPISODE, url3 in r3:
url4 = url3.replace('\\', '')
print rEPISODE
и после принта я получаю \u0441\u0435\u0440\u0438\u044f 1, а должно быть Серия 1, как мне этого добиться?
ptax
print u'\u0441\u0435\u0440\u0438\u044f'
lepriconl
ага, это все правильно конечно, но могу то я сделать только

print rEPISODE

я же не знаю что именно имеет эта переменная!
это в этом примере я показал что при выполнении строки print rEPISODE у меня выводит \u0441\u0435\u0440\u0438\u044f а там вариантов более тысячи, и все разные!
ptax
import urllib, json

url2 = 'http://vepizode.net/wp-content/uploads/playlist.php?pl=http://vepizode.net/play/lost-s1.txt&rand='

response = json.load(urllib.urlopen(url2))
web_section = response['playlist']

for i in range(len(web_section)):
comment = web_section[i]['comment']
file_puth = web_section[i]['file']
print comment, file_puth
lepriconl
огромное спасибо, но есть ли вариант без библиотеки json? просто в той программе в которой я пытаюсь модуль написать, нет этой библиотеки, а добавить то можно, но тогда скрипт на других компах работать не будет! :(
pikhovkin
Попробуйте:
- если windows: print rEPISODE.encode('cp1251') # или encode('cp866')
- если linux: print rEPISODE.encode('utf-8')
lepriconl
к сожалению нет, выходит вот что:
19:28:25 T:6132 M:872943616 NOTICE: \u0421\u043e\u0447\u0438 2009 1-\u0447
19:28:25 T:6132 M:872943616 NOTICE: \u0421\u043e\u0447\u0438 2009 2-\u0447
19:28:25 T:6132 M:872943616 NOTICE: \u0421\u043e\u0447\u0438 2009 \u043b\u0435\u0442\u043e
19:28:25 T:6132 M:872943616 NOTICE: \u0424\u0438\u043d\u0430\u043b 2009 \u041f\u041b
19:28:25 T:6132 M:872943616 NOTICE: 2-\u044f (1-2) \u041f\u041b
19:28:25 T:6132 M:872943616 NOTICE: 1-\u044f (1-2) \u041f\u041b
19:28:25 T:6132 M:872943616 NOTICE: 3-\u044f (1-4) \u041f\u041b
19:28:25 T:6132 M:872943616 NOTICE: 2-\u044f (1-4) \u041f\u041b
19:28:25 T:6132 M:872943616 NOTICE: 1-\u044f (1-4) \u041f\u041b
19:28:25 T:6132 M:872943616 NOTICE: 2-\u044f (1-8) \u041f\u041b
19:28:25 T:6132 M:872943616 NOTICE: 1-\u044f (1-8) \u041f\u041b
pikhovkin
Покажите код полностью.
Ed
Попробуйте так:
url = 'http://vepizode.net/wp-content/uploads/playlist.php?pl=http://vepizode.net/play/lost-s1.txt&rand='
line = urllib.urlopen(url).readline()
for episode, url3 in re.findall('"comment":"(.*?)","file":"(.*?)"}', line, re.DOTALL):
print episode.decode('unicode-escape')
У меня выводит вот это:
серия 1
серия 2

серия 23
серия 24
PS: Если будет ломаться с UnicodeEncodeError, то добавтьте еще и .encode(<ваш encoding>) или .encode(locale.getdefaultencoding())
igor.kaist
lepriconl
огромное спасибо, но есть ли вариант без библиотеки json? просто в той программе в которой я пытаюсь модуль написать, нет этой библиотеки, а добавить то можно, но тогда скрипт на других компах работать не будет! :(
Парсить json регулярками… хм….
Вы хотите заставить ставить python? Это глупо.
Посмотрите на py2exe, либо, на крайний случай, положите либу json рядом с вашим скриптом, устанавливать не нужно.
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