On 2015-11-04 14:39, Steven D'Aprano wrote: > On Wednesday 04 November 2015 03:56, Tim Chase wrote: >> Or even more valuable to me: >> >> with open(..., newline="strip") as f: >> assert all(not line.endswith(("\n", "\r")) for line in f) > > # Works only on Windows text files. > def chomp(lines): > for line in lines: > yield line.rstrip('\r\n')
.rstrip() takes a string that is a set of characters, so it will remove any \r or \n at the end of the string (so it works with both Windows & *nix line-endings) whereas just using .rstrip() without a parameter can throw away data you might want: >>> "hello \r\n\r\r\n\n\n".rstrip("\r\n") 'hello ' >>> "hello \r\n\r\r\n\n\n".rstrip() 'hello' -tkc -- https://mail.python.org/mailman/listinfo/python-list