以python方式读取文本文件

时间:2014-10-21 11:30:32

标签: python file

我创建了以下文本文件:

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(),但我没有得到预期的输出!!!

3 个答案:

答案 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