I have a textfile, let\'s call it goodlines.txt and I want to load it and make a list that contains each line in the text file.
I tried using the
You are using str methods on an open file object.
You can read the file as a list of lines by simply calling list() on the file object:
with open('goodlines.txt') as f:
mylist = list(f)
This does include the newline characters. You can strip those in a list comprehension:
with open('goodlines.txt') as f:
mylist = [line.rstrip('\n') for line in f]
Try this:
>>> f = open('goodlines.txt')
>>> mylist = f.readlines()
open() function returns a file object. And for file object, there is no method like splitlines() or split(). You could use dir(f) to see all the methods of file object.
You're not reading the file content:
my_file_contents = f.read()
See the docs for further infos
You could, without calling read() or readlines() loop over your file object:
f = open('goodlines.txt')
for line in f:
print(line)
If you want a list out of it (without \n as you asked)
my_list = [line.rstrip('\n') for line in f]