python读写文件夹中编码方式各异的文件

发布于 2022-09-06 11:20:21 字数 627 浏览 27 评论 0

现有需求如下:
遍历一个文件夹中的所有文件,读取文件内容,对文件内容进行处理后,重新写入文件中。
该文件夹下的文件编码方式不统一,例如下图所示:

clipboard.png

图中,两个文件的编码,一个是ASCII,另一个是ISO-8859,且换行符还是CRLF风格的(该文件中包含了中文注释)

我尝试直接用utf-8编码方式读取文件:with open(file, encoding='utf-8') as f,当读到那个272的file时,会报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 0: invalid start byte

也试过这样:with codecs.open(file, encoding='utf-8') as f,但是仍然会报错。

请问有何好的处理办法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

亚希 2022-09-13 11:20:21

二进制读取字节,然后根据不同的编码再处理

import codecs
with codecs.open('Client.java','rb') as f:
    print f.read().decode('utf8')
    # print f.read().decode('gbk')
    # print f.read().decode('ASCII')
故笙诉离歌 2022-09-13 11:20:21

全部不加编码地读进来,然后判断编码,并转成 utf-8

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文