Форум сайта python.su
Добрый день!
Я новичок в программировании. Python начал изучать только недавно. Прошу у Вас помощи для написания приложения, поскольку сталкиваюсь с трудностями, в которых не помогает даже google. Код, который написал по мануалам:
# -*- coding: cp1251 -*- imp0rt = open('d:\Основные определения из теории систем.txt') #импортирую из файла текст spisok = imp0rt.read() #присваиваю переменной импортированный текст massiv = spisok.split() #создаю список из импортированного текста, с разделителем " " (пробел) print(massiv) #вывод текста массива на экран
#coding: utf-8 from nltk.stem import SnowballStemmer russian_stemmer = SnowballStemmer('russian') russian_stemmer.stem('приветственный')
Отредактировано dm1tri1 (Апрель 24, 2013 16:12:13)
Офлайн
для питона 2.x
imp0rt = open(ur'd:\Основные определения из теории систем.txt')
Офлайн
Кодировка файла cp1251.
команда
print(massiv)
['\xc4\xe5\xf0\xe5\xe2\xee', '\xf1\xe2\xee\xe9\xf1\xf2\xe2', '-', '\xeb\xee\xe3\xe8\xf7\xe5\xf1\xea\xe0\xff', и т.д.
Офлайн
Смею предположить, что у вас ОС Windows, тогда консоль поддерживает только кодировку cp866. Тогда для отображения поможет это (+ сама кодировка файла в cp866)
# -*- coding: cp866 -*-
Отредактировано Edinonog (Апрель 27, 2013 04:25:04)
Офлайн
doza_andu - необязательно
для питона 2.x
doza_andво втором питоне параметра кодировки в open() нет (нужно codecs.open() )
если в файле русский текст, то надо еще кодировку файла указать.
Отредактировано py.user.next (Апрель 28, 2013 07:57:15)
Офлайн
py.user.nextПозволю себе не согласиться
u - необязательно
#!/bin/env/python # -*- coding: utf-8 -*- imp0rt = open('йй.txt')
#!/bin/env/python # -*- coding: cp1251 -*- imp0rt = open('йй.txt')
Офлайн
doza_andну да, вообще стоит писать, я не учёл этот момент со сменой кодировки на несистемную
Т.е. в данном случае можно и не писать, но я считаю это крайне дурным советом.
Офлайн
Решение найдено!
Первый пример эволюционировал в
# -*- coding: utf-8 -*- #кодировка для распознания русского текста файла from __future__ import unicode_literals#чтобы все остальные русские слова питон воспринимал, как юникод imp0rt = open(ur'd:\определения.txt') #импортирую из файла русский текст spisok = imp0rt.read() #считываю текст в переменную massiv = spisok.split() #создаю список из считанного текста, с разделителем " " (пробел) spisok = unicode(massiv[0], 'cp1251') #преобразую первый элемент списка в кириллицу print(spisok) #вывод первого элемента массива на экран
#coding=utf-8 from nltk.stem import SnowballStemmer #подключение словаря и импорт SnowballStemmer russian_stemmer = SnowballStemmer('russian') #выбор русского языка для извлечения корня print (russian_stemmer.stem(u'приветственный')) #вывод на экран корня слова
Офлайн