一尘不染

当open()将文件作为utf-8时,“需要整数”吗?

python

我有一个要在python中用以下行打开的文件:

f = open("C:/data/lastfm-dataset-360k/test_data.tsv", "r", "utf-8")

打电话给我错误

TypeError:必须为整数

我删除了除那一行以外的所有其他代码,仍然出现错误。我做错了什么,如何正确打开?


阅读 249

收藏
2021-01-20

共1个答案

一尘不染

从文档中open()

open(name[, mode[, buffering]])

[…]

可选的buffering参数指定文件所需的缓冲区大小:0表示未缓冲,1表示行缓冲,任何其他正值表示使用(大约)该大小的缓冲区。负缓冲意味着使用系统默认值,通常对tty设备使用行缓冲,而对于其他文件则使用完全缓冲。如果省略,则使用系统默认值。

您似乎正在尝试传递open()一个将文件编码描述为第三个参数的字符串。不要那样做

2021-01-20