1234567891011121314151617181920 |
- from io import BufferedWriter
- class ProgressFileWriter(BufferedWriter):
- def __init__(self, path, mode, callback=None):
- self.file_handler = open(path, mode)
- self.progress = 0
- self.callback = callback
- super().__init__(self.file_handler, 262144)
- def write(self, s):
- value = super().write(s)
- if self.callback is not None:
- self.progress += value
- self.callback(self.progress)
- return value
|