Read .txt file line by line in Python

你。 提交于 2019-12-01 17:55:44

问题


My .txt file looks like this:

![enter image description here][1]

How can I read my txt file into a string object that can be printed in the same format as above?

I have tried: 
    with open ("/Users/it/Desktop/Classbook/masterClassList.txt", "r") as myfile:
    data = myfile.read()

for item in data:
    print item

This code prints every character on a new line. I need the txt file to be a string in order to call string methods, particularly 'string.startswith()'

As you can see, in my IDE console, the lines are printing with a black line of spaces in between each line of content. How can I eliminate these blank lines?

Here is my working solution:

with open ("/Users/it/Desktop/Classbook/masterClassList.txt", "r") as myfile:
    data = myfile.read()
    for line in data:
        line.rstrip()

print data

回答1:


Simplest might be:

data = myfile.readlines()

This would work w/the rest of your code -- or, you could loop directly on myfile (inside the with:-) and you'd be getting one line at a time. Note that lines include the ending \n so you may want to .strip() them before printing &c:-)




回答2:


The most memory efficient way of reading lines is:

with open ("/Users/it/Desktop/Classbook/masterClassList.txt", "r") as myfile:
    for line in myfile:
        print line

i.e. you don't need to read the entire file in to a memory, only line by line. Here is the link to python tutorial: https://docs.python.org/2/tutorial/inputoutput.html#methods-of-file-objects



来源:https://stackoverflow.com/questions/27577435/read-txt-file-line-by-line-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!