1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import sys
20 import time
21
23
25 self.stream = stream
26 self.buffer_size = 65536
27 self.buffer = ""
28
30 self.buffer = self.buffer + data
31 if len(self.buffer) < self.buffer_size:
32 return
33
34 self.stream.write(self.buffer[:self.buffer_size])
35 self.buffer = self.buffer[self.buffer_size:]
36
38 if self.buffer:
39 self.stream.write(self.buffer)
40 self.buffer = ""
41
44
47
48
49 if __name__ == '__main__':
50 sb = StringBuffer(sys.stdout)
51 sb.buffer_size = 10
52
53 while 1:
54 sb.write('a')
55 time.sleep(.2)
56