Python 以可读格式打印非英语(泰卢固语)文本
Python print non-english (telugu) text in readable format
我正在处理泰卢固语文本以分析几个文本标记。
>>> sent = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
>>> text = sent
>>> text = nltk.word_tokenize(text)
>>> result = nltk.pos_tag(text)
>>> for val in result:
... print list(val)[0], list(val)[1]
...
నా JJ
పేరు NNP
కరీం NNP
ఉంది NNP
. .
నేను VB
భారత JJ
ఆహార NNP
ప్రేమ NNP
这样我可以看到泰卢固语的结果。
对于相同的文本,当我尝试这种方式时,它在结果中给出了 unicode 字符串。 如何在泰卢固语中打印令牌?
>>> s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
>>> res = s.split(' ')
>>> res[0]
u'\u0c28\u0c3e'
>>> type(res[0])
<type 'unicode'>
>>> res[0].encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> res[0].encode('utf-8')
'\xe0\xb0\xa8\xe0\xb0\xbe'
编辑:
print res[0]
给对了。但是当我执行将此代码放入 .py 脚本并 运行 时。它给出
ubuntu@DELL-PC:~/Documents/codes$ python test.py
File "test.py", line 1
SyntaxError: Non-ASCII character '\xe0' in file test.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
test.py 包含:
s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
a = s.split()
for i in a:
print i
因为我的控制台中没有可用的泰卢固语,所以最简单的答案是 运行 使用 Jupyter 在浏览器中 python 会话 - 这样你就可以摆脱关于终端字符集等的很多问题
然后我可以简单地 print
结果:
s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
a = s.split()
for i in a:
print(i)
నా
పేరు
కరీం
ఉంది.
నేను
భారత
ఆహార
ప్రేమ.
请注意,将此类内容放入脚本文件时,您需要使用魔术行启动文件:
#!/usr/bin/env python
#coding:utf-8
推断出 OP 是 运行ning python2 我已经试验并发现 - 在支持 utf-8 的终端中 -当脚本文件 运行 时,以下给出的结果看起来不错:
#!/usr/bin/env python
# coding: utf-8
from __future__ import print_function
import nltk
s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ." #.decode('utf-8')
a = s.split()
for i in a:
print(i)
text = nltk.word_tokenize(s.decode('utf-8'))
result = nltk.pos_tag(text)
for val in result:
print (list(val)[0].encode('utf-8'), list(val)[1])
$ python Untitled2.py
నా
పేరు
కరీం
ఉంది.
నేను
భారత
ఆహార
ప్రేమ.
నా JJ
పేరు NNP
కరీం NNP
ఉంది NNP
. .
నేను VB
భారత JJ
ఆహార NNP
ప్రేమ NNP
. .
我正在处理泰卢固语文本以分析几个文本标记。
>>> sent = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
>>> text = sent
>>> text = nltk.word_tokenize(text)
>>> result = nltk.pos_tag(text)
>>> for val in result:
... print list(val)[0], list(val)[1]
...
నా JJ
పేరు NNP
కరీం NNP
ఉంది NNP
. .
నేను VB
భారత JJ
ఆహార NNP
ప్రేమ NNP
这样我可以看到泰卢固语的结果。
对于相同的文本,当我尝试这种方式时,它在结果中给出了 unicode 字符串。 如何在泰卢固语中打印令牌?
>>> s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
>>> res = s.split(' ')
>>> res[0]
u'\u0c28\u0c3e'
>>> type(res[0])
<type 'unicode'>
>>> res[0].encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> res[0].encode('utf-8')
'\xe0\xb0\xa8\xe0\xb0\xbe'
编辑:
print res[0]
给对了。但是当我执行将此代码放入 .py 脚本并 运行 时。它给出
ubuntu@DELL-PC:~/Documents/codes$ python test.py
File "test.py", line 1
SyntaxError: Non-ASCII character '\xe0' in file test.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
test.py 包含:
s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
a = s.split()
for i in a:
print i
因为我的控制台中没有可用的泰卢固语,所以最简单的答案是 运行 使用 Jupyter 在浏览器中 python 会话 - 这样你就可以摆脱关于终端字符集等的很多问题
然后我可以简单地 print
结果:
s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
a = s.split()
for i in a:
print(i)
నా
పేరు
కరీం
ఉంది.
నేను
భారత
ఆహార
ప్రేమ.
请注意,将此类内容放入脚本文件时,您需要使用魔术行启动文件:
#!/usr/bin/env python
#coding:utf-8
推断出 OP 是 运行ning python2 我已经试验并发现 - 在支持 utf-8 的终端中 -当脚本文件 运行 时,以下给出的结果看起来不错:
#!/usr/bin/env python
# coding: utf-8
from __future__ import print_function
import nltk
s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ." #.decode('utf-8')
a = s.split()
for i in a:
print(i)
text = nltk.word_tokenize(s.decode('utf-8'))
result = nltk.pos_tag(text)
for val in result:
print (list(val)[0].encode('utf-8'), list(val)[1])
$ python Untitled2.py
నా
పేరు
కరీం
ఉంది.
నేను
భారత
ఆహార
ప్రేమ.
నా JJ
పేరు NNP
కరీం NNP
ఉంది NNP
. .
నేను VB
భారత JJ
ఆహార NNP
ప్రేమ NNP
. .