gpt4 book ai didi

python - 无论文件编码如何,我如何实现一个总是以 UTF-8 编码返回的类文件?

转载 作者:行者123 更新时间:2023-11-28 19:10:11 25 4
gpt4 key购买 nike

我制作了一个检测文件编码的模块。我希望能够将文件路径和编码作为类的输入,并且在处理文件内容时始终能够返回“utf-8”。

例如这样的东西

handler = UnicodeWrapper(file_path, encoding='ISO-8859-2')

for line in handler:
# need the line to be encoded in utf-8
process(line)

我不明白为什么有上百万种编码。但我想编写一个始终返回 unicode 的接口(interface)。

是否已经有图书馆可以做到这一点?

最佳答案

基于 this answer ,我认为以下内容可能适合您的需求:

import io

class UnicodeWrapper(object):
def __init__(self, filename):
self._filename = filename

def __iter__(self):
with io.open(self._filename,'r', encoding='utf8') as f:
return iter(f.readlines())

if __name__ == '__main__':
filename = r'...'

handler = UnicodeWrapper(filename)

for line in handler:
print(line)

编辑

在 Python 2 中,您可以断言每一行都使用如下代码以 UTF-8 编码:

if __name__ == '__main__':
filename = r'...'

handler = UnicodeWrapper(filename)

for line in handler:
try:
line.decode('utf-8')
# process(line)
except UnicodeDecodeError:
print('Not encoded in UTF-8')

关于python - 无论文件编码如何,我如何实现一个总是以 UTF-8 编码返回的类文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41485093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com