python - 在不知道编码的情况下使用 Python 读取文件

标签 python python-3.x encoding readfile

我想从文件夹中读取所有文件(使用 os.walk)并将它们转换为一种编码 (UTF-8)。问题是那些文件没有相同的编码。它们可以是 UTF-8、带 BOM 的 UTF-8、UTF-16。

有没有办法在不知道编码的情况下读取这些文件?

最佳答案

您可以以二进制模式读取这些文件。还有 chardet 模块。使用它,您可以检测文件的编码并解码您获得的数据。尽管此模块有局限性。

举个例子:

from chardet import detect

with open('your_file.txt', 'rb') as ef:
    detect(ef.read())

关于python - 在不知道编码的情况下使用 Python 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34428007/

相关文章:

c# - WebService SOAP 编码 UTF-16 而不是 UTF-8

python - 基于目标变量的编码技术预测看不见的数据

python - 使用 python 显示的错误:列计数与第 1 行的值计数不匹配

python - 如果满足任何条件之一,则将变量设置为 True

python-3.x - 在 google colab 中创建两个新目录并加入它们

python - 将 "None"替换为返回 NameError 的对象

unicode - Win32 API 函数需要什么编码?

python - Pandas:将数据框中的单行转换为具有多个维度的列表

python - 在 MySQLdb 库中捕获错误

django - 无法在 django 模型中添加新字段