End-line characters from lines read from text file, using Python

The idiomatic way to do this in Python is to use rstrip(‘\n’):

for line in open('myfile.txt'):  # opened in text-mode; all EOLs are converted to '\n'
    line = line.rstrip('\n')
    process(line)

Each of the other alternatives has a gotcha:

  • file(‘…’).read().splitlines() has to load the whole file in memory at once.
  • line = line[:-1] will fail if the last line has no EOL.

Leave a Comment

tech