Message381496
For those who find this in the future, the simplest workaround for the:
for line in sys.stdin:
issue on Python 2 is to replace it with:
for line in iter(sys.stdin.readline, ''):
The problem is caused by the way file.__next__'s buffering behaves, but file.readline doesn't use that code (it delegates to either fgets or a loop over getc/getc_unlocked that never overbuffers beyond the newline). Two-arg iter lets you make an iterator that calls readline each time you want a line, and considers a return of '' (which is what readline returns when you hit EOF) to terminate iteration. |
|
Date |
User |
Action |
Args |
2020-11-20 18:48:44 | josh.r | set | recipients:
+ josh.r, martin.panter, serhiy.storchaka, Don Hatch |
2020-11-20 18:48:44 | josh.r | set | messageid: <1605898124.5.0.162185282894.issue26290@roundup.psfhosted.org> |
2020-11-20 18:48:44 | josh.r | link | issue26290 messages |
2020-11-20 18:48:44 | josh.r | create | |
|