我创建了以下文本文件:
fo = open("foo.txt", "wb")
fo.write("begin \n")
fo.write("end \n")
fo.write("if \n")
fo.write("then \n")
fo.write("else \n")
fo.write("identifier \n")
input = raw_input("Enter the expression : ")
print input
fo = open("foo.txt" , "rt")
str = fo.read(10)
print "Read string is : ", str
fo.close()
我应该怎么做才能逐行阅读文本文件?我尝试了fo.read()和fo.readlines(),但我没有得到预期的输出!!!
答案 0 :(得分:1)
正在工作,但你并没有以正确的方式使用它:
for line in fo.readlines():
print line
答案 1 :(得分:0)
您正在打开要写入的文件,但在尝试从中读取之前不会将其关闭。
您需要在fo.close()
fo.read
同样,read(10)
从文件中读取10个字节的数据,而wb
表示您正在编写二进制数据。我不太确定你想要的......
答案 2 :(得分:0)
对于初学者,你以错误的方式打开文件(二进制文件,而不是文本,请注意下面的开放参数)。您需要使用readlines方法迭代文件的行。
#Using a context manager to open the file in write text mode
with open("foo.txt", "w") as fo:
fo.write("begin \n")
#write other lines...
...
input = raw_input("Enter the expression : ")
print input
#Open in read text mode
with open("foo.txt" , "r") as fi:
for line in fi.readlines():
print "Read string is : ", str