Best method for reading newline delimited files and discarding the newlines? Best method for reading newline delimited files and discarding the newlines? python python

Best method for reading newline delimited files and discarding the newlines?


lines = open(filename).read().splitlines()


Here's a generator that does what you requested. In this case, using rstrip is sufficient and slightly faster than strip.

lines = (line.rstrip('\n') for line in open(filename))

However, you'll most likely want to use this to get rid of trailing whitespaces too.

lines = (line.rstrip() for line in open(filename))


What do you think about this approach?

with open(filename) as data:    datalines = (line.rstrip('\r\n') for line in data)    for line in datalines:        ...do something awesome...

Generator expression avoids loading whole file into memory and with ensures closing the file