Sam*_*ack 5 python encoding readfile python-3.x
我想从文件夹(带有os.walk
)读取所有文件并将它们转换为一种编码(UTF-8)。问题是这些文件没有相同的编码。它们可以是 UTF-8、带 BOM 的 UTF-8、UTF-16。
有没有办法在不知道这些文件的编码的情况下读取这些文件?
小智 6
您可以以二进制模式读取这些文件。此外,chardet 库可以帮助您检测字符编码。使用 chardet,您可以检测文件的编码并对获得的数据进行解码。尽管这个模块有局限性。
举个例子:
from chardet import detect
with open('your_file.txt', 'rb') as ef:
detect(ef.read())
Run Code Online (Sandbox Code Playgroud)