我正在用python编写一个chatbot程序,当我运行我的代码时,我收到以下错误。
Traceback (most recent call last):
File "C:/Users/stephen/AppData/Local/Programs/Python/Python35/chatbot.py", line 97, in <module>
with bz2.open("C:/RC_{}".format(timeframe.split('-')[0],timeframe), buffering=1000) as f:
TypeError: open() got an unexpected keyword argument 'buffering'
无法在线找到有关错误的任何信息。我所看到的可能是它是一个bug,我应该将它报告给python。目前正在运行python3.5.3。这是获取错误的代码的一部分。
with bz2.open("C:/RC_{}".format(timeframe.split('-')[0],timeframe), buffering=1000) as f:
for row in f:
row_counter += 1
parent_id = row['parent_id']
body = format_data(row['body'])
created_utc = row['created_utc']
score = row['score']
comment_id = row['name']
subreddit = row['subreddit']
parent_data = find_parent(parent_id)
答案 0 :(得分:1)
错误非常明确:
Account
对bz2.open
的文档进行简单检查后会显示此函数不会使用TypeError: open() got an unexpected keyword argument 'buffering'
参数。
所以简单地删除它。
答案 1 :(得分:1)
The bz2.open
function没有buffering
参数。即使bz2.BZ2File
,buffering
明确指出:
忽略
buffering
参数。它的使用已被弃用。
缓冲参数对压缩器来说有点荒谬;他们有缓冲到一定程度,因为如果你请求X数据量,他们可能需要解压缩一个未知最终大小的块来获取它,所以他们要么解压缩整个块,缓冲超出X请求的未压缩数据,或者当它们到达X时停止解压缩,缓冲压缩数据(他们可能仍然必须缓冲一些未压缩数据,因为从流中解压缩单个字节可以产生许多字节的输出)。 p>
重点是,没有合理的方法来禁用或限制缓冲;压缩机的需求意味着你没有那种控制水平。