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.