我正在尝试使用文件中的数据集在ML中实现我的项目
authors_file_handler = open(authors_file, "r")
authors = pickle.load(authors_file_handler)
authors_file_handler.close()
此后,我在此行中出错
authors = pickle.load(authors_file_handler)
TypeError: a bytes-like object is required, not 'str'
答案 0 :(得分:4)
您需要以二进制读取模式打开文件:
authors_file_handler = open(authors_file, "rb") # Note the added 'b'
authors = pickle.load(authors_file_handler)
authors_file_handler.close()
来自pickle.load()
docs:
参数文件必须具有两个方法,一个read()方法需要一个 整数参数,以及不需要参数的readline()方法。 两种方法都应返回字节。因此文件可以是磁盘上的文件 已打开以进行二进制读取,一个io.BytesIO对象或任何其他自定义 符合此接口的对象。