问题
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