文件和文件夹 IO

避免跨平台编码地狱

当使用 Python 的内置 open() 时,如果你打算跨平台运行代码,最好始终传递 encoding 参数。原因是系统的默认编码因平台而异。

虽然 linux 系统确实使用 utf-8 作为默认值,但对于 MAC 和 Windows 来说并不一定如此。

要检查系统的默认编码,请尝试以下操作:

import sys
sys.getdefaultencoding()

来自任何 python 解释器。

因此,始终对编码进行分类是明智的,以确保你正在使用的字符串按照你的想法进行编码,从而确保跨平台兼容性。

with open('somefile.txt', 'r', encoding='UTF-8') as f:
    for line in f:
        print(line)