Python使用带有巴西葡萄牙语字符(ç、á、é、à、í)的pyxtxt.xtxt(文件名)
我需要使用pyxtxt.xtxt (filename) 来读取一些文件的内容,当文件名不包含巴西葡萄牙语的特殊字符(ç、á、é、à、í)时,一切都正常。当文件名包含这些字符时,pyxtxt会给出“(No such file or directory)”的消息。有没有人用过这个?这个模块在包含巴西葡萄牙语字符的文件上工作吗?在我的示例代码中,作为注释形式,我已经包含了一些同样没起作用的尝试。我收到的错误信息是:“⚠️ MIME类型不受支持,无法打开 `C:\MeusSistemas\Tst\Teste_Acentos_Brasileiros_está_mão_açaí.py'(没有这样的文件或目录)(C:\MeusSistemas\Tst\Teste_Acentos_Brasileiros_está_mão_açaí.py)已忽略。”
import pyxtxt
import unicodedata
from pathlib import Path
import os
filename = r"C:\MeusSistemas\Tst\Teste_Acentos_Brasileiros_está_mão_açaí.py"
text = pyxtxt.xtxt(filename)
# Testing with normalize
#filename_after_processing = unicodedata.normalize('NFC', filename)
#text = pyxtxt.xtxt(filename_after_processing)
# Testing with com encode
#filename_after_processing = filename.encode('utf-8'))
#text = pyxtxt.xtxt(filename_after_processing)
# Testing with Path
#filename_after_processing = Path(filename)
#directory, filename_2 = os.path.split(filename_after_processing)
#filename_after_processing_2 = directory + "\\" + filename_2
#text = pyxtxt.xtxt(filename_after_processing_2)
print (text)
解决方案
pyxtxt的文档 指出:
⚠️ 注意:你的系统上必须安装libmagic(这是python-magic所必需的)。
这(以及查看其源代码)表明pyxtxt使用 python-magic 来读取文件。但这个包在Windows上无法打开包含“怪异”字符的文件。这个问题及其回答提供了关于此问题的更多细节。
建议的解决方案是,使用自己的Python语句读取文件,然后将返回的数据传递给所需的函数。
import pyxtxt
filename = r".\Teste_Acentos_Brasileiros_está_mão_açaí.py"
with open(filename, 'rb') as file:
data = file.read()
text = pyxtxt.xtxt(data)
print(text)
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。