从文档中
open():
open(name[, mode[, buffering]])[…]
可选的buffering参数指定文件所需的缓冲区大小:0表示未缓冲,1表示行缓冲,任何其他正值表示使用(大约)该大小的缓冲区。负缓冲意味着使用系统默认值,通常对tty设备使用行缓冲,而对于其他文件则使用完全缓冲。如果省略,则使用系统默认值。
您似乎正在尝试传递
open()一个将文件编码描述为第三个参数的字符串。不要那样做

从文档中
open():
open(name[, mode[, buffering]])[…]
可选的buffering参数指定文件所需的缓冲区大小:0表示未缓冲,1表示行缓冲,任何其他正值表示使用(大约)该大小的缓冲区。负缓冲意味着使用系统默认值,通常对tty设备使用行缓冲,而对于其他文件则使用完全缓冲。如果省略,则使用系统默认值。
您似乎正在尝试传递
open()一个将文件编码描述为第三个参数的字符串。不要那样做