fork download
  1. #!python
  2.  
  3. import sys
  4.  
  5.  
  6. def block_generator(f, is_delim):
  7. buf = []
  8. for line in f:
  9. if is_delim(line):
  10. yield buf
  11. buf.clear()
  12. else:
  13. buf.append(line)
  14. if buf:
  15. yield buf
  16.  
  17.  
  18. if __name__ == '__main__':
  19. b = block_generator(sys.stdin, lambda line: line == "delim\n")
  20.  
  21. for block in b:
  22. print("block:", block)
Success #stdin #stdout 0.04s 9528KB
stdin
1
2
delim
4
5
6
delim
7
8
stdout
block: ['1\n', '2\n']
block: ['4\n', '5\n', '6\n']
block: ['7\n', '8\n']