Python: AttributeError: _io.TextIOWrapper object has no attribute split

Python: AttributeError: _io.TextIOWrapper object has no attribute split

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.

Python: AttributeError: _io.TextIOWrapper object has no attribute split

Youre 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]

Leave a Reply

Your email address will not be published.