文件和文件夹 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)