我正在 python 中实现外部排序,目前遇到了这个问题。我已经将一个包含整数的大文本文件分成小块,我正在尝试对这些块进行排序。到目前为止,我能写这么多。
with open(fpath,'rb') as fin:
input_iter = iter(lambda: fin.read(40 * 1024),'')
for item in input_iter:
print item
current_chunk = list(item)
# sort the buffers
current_chunk.sort(key = lambda x : int(x))
当我执行此代码时,出现错误
File "problem3.py", line 68, in <lambda>
current_chunk.sort(key = lambda x : int(x))
ValueError: invalid literal for int() with base 10: ''
我猜这是因为这条线input_iter = iter(lambda: fin.read(40 * 1024),'')
是他们克服这个问题的另一种方法。谢谢