如何在python中读取文件的阿拉伯语



我是Python的初学者。我正在使用Python 2.7.3。我试图从阿拉伯文字中阅读以为我的程序创意进行一些过程。

,但它打印了不可读的输出

这是我的代码的脚本:

>>> fname = open (r"C:Python27نجود.txt ", "rb")
>>> text = fname.read()
>>> print text
ï»؟ط§ظ„ط³ظ„ط§ظ… ط¹ظ„ظٹظƒظ… ط£ظ†ط§ ط¨طµط¯ط¯ طھط¬ط±ط¨ط© ظ‡ط°ط§ 
ط§ظ„ط¨ط±ظ†ط§ظ…ط¬ ظپظٹ ط¨ط§ظٹط«ظˆظ†. ط¨ط§ظٹط«ظˆظ† ط±ط§ط¦ط¹ ظˆط¬ظ…ظٹظ„, ``ظˆظ„ظƒظ† طھط¬ط±ط¨ط© ط¨ط§ظٹط«ظˆظ† ظ…ط¹ ط§ظ„ط¹ط±ط¨ظٹ ط³طھظƒظˆظ† ظ…ط®طھظ„ظپط©!. ط¨ط§ظٹط«ظˆظ† ط±ط§ط¦ط¹ ظˆظٹط³طھط­ظ‚ ط§ظ„طھط¬ط±ط¨ط©.

我尝试了许多解决方案,例如:

text= fname.encoding() #or encode , but it did not work and gave me this error:
########
text= fname.encoding()
TypeError: 'NoneType' object is not callable

尝试将# encoding: utf-8放在代码文件的顶部,但没有给出任何更改。

也尝试这样做:

fname = open (r"C:Python27نجود.txt ", "r", encoding='utf-8')

,但它给了我这个错误:

fname = open (r"C:Python27نجود.txt ", "r", encoding='utf-8')
 TypeError: 'encoding' is an invalid keyword argument for this function

有什么建议吗?预先感谢。

从文件中读取将返回 str,在python2中是一个任意的字节字符串(可能是UTF-8编码的Unicode字符串,但也可以是二进制数据像JPG文件的内容或类似的内容)。

如果您知道它是一个UTF-8编码字符串,则应 decode it:

decoded = text.decode('utf8')

这将产生一个unicode对象,该对象是一个Unicode字符串。如果您处理此操作,Python将尝试正确执行所有操作。E. g。根据您的终端,打印本应按预期工作:

print decoded

首先,您需要在右侧编码中打开文件。Windows上的阿拉伯语通常是windows-1256,有时可以是utf-8

对于2.7.3,请确保您正确打开文件:

import io
with io.open(r"C:Python27نجود.txt ", "r", encoding="utf-8") as f:
    for line in f:
       print(line)

最新更新