我有一个排序文件列表,其中数据由 '\n' 分隔我想将它们合并在一起以获得单个排序文件。我不想一次加载所有文件的内容。我正在使用heapq 库的合并功能
我写了以下代码
def merge(*flist):
for element in heapq.merge(*flist):
yield element
其中 *flist 是这样的元组 -
(<open file '/tmp/000000', mode 'w+b' at 0xb73eba70>,
<open file '/tmp/000001', mode 'w+b' at 0xb73ebac8>,
<open file '/tmp/000002', mode 'w+b' at 0xb73ebb20>,
<open file '/tmp/000003', mode 'w+b' at 0xb73ebb78>,
<open file '/tmp/000004', mode 'w+b' at 0xb73ebc80>)
当我在循环中打印上面的元素时,我得到值'2\n','44\n'。输出文件也不按排序顺序。我认为问题是由于换行符造成的。如何解决这个问题。
我试图从很长一段时间内解决此问题,但无法解决