MCPcopy Index your code
hub / github.com/subbarayudu-j/TheAlgorithms-Python / FileMerger

Class FileMerger

sorts/external-sort.py:89–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87
88
89class FileMerger(object):
90 def __init__(self, merge_strategy):
91 self.merge_strategy = merge_strategy
92
93 def merge(self, filenames, outfilename, buffer_size):
94 buffers = FilesArray(self.get_file_handles(filenames, buffer_size))
95 with open(outfilename, 'w', buffer_size) as outfile:
96 while buffers.refresh():
97 min_index = self.merge_strategy.select(buffers.get_dict())
98 outfile.write(buffers.unshift(min_index))
99
100 def get_file_handles(self, filenames, buffer_size):
101 files = {}
102
103 for i in range(len(filenames)):
104 files[i] = open(filenames[i], 'r', buffer_size)
105
106 return files
107
108
109

Callers 1

sortMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected