Быстрый поиск по pypi вызывает это , которое может делать то, что вы хотите, но в противном случае я бы предложил написать это самостоятельно, это были бы довольно простые инструменты для написания.
Я не проверял это, но вот очень простая реализация, которая должна это делать (python3).
class RotatingFile:
def __init__(self, basename, size, binary=False):
self.basename = basename
self.size = size
self.counter = 0
if binary:
self.buffer = b''
else:
self.buffer = ''
def write(self, data)
self.buffer += data
if len(self.buffer) >= self.size:
data = self.buffer[:self.size]
self.buffer = self.buffer[self.size:]
name = self.basename + str(self.counter)
with open(name) as f:
f.write(data)
self.counter += 1
def flush(self):
name = self.basename + str(self.counter)
with open(name) as f:
f.write(self.buffer)
Так что это должно записать в 6 файлов:
>>> f = RotatingFile('myfile', 1000)
>>> f.write('a' * 5500)
>>> f.flush()