簡體   English   中英

在python line wise中讀取文本文件

[英]Read a text file in python line wise

我創建了以下文本文件:

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(),但沒有得到預期的輸出!!!

它正在工作,但您沒有以正確的方式使用它:

for line in fo.readlines():
    print line

您正在打開文件進行寫入,但是在嘗試讀取文件之前沒有關閉它。 您需要添加一個fo.close()的前fo.read

同樣, read(10)從文件中讀取10個字節的數據,而wb表示您正在寫入二進制數據。 我不太確定這就是你想要的...

對於初學者,您將以錯誤的模式打開文件(二進制,而不是文本,請注意下面的打開參數)。 您需要使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM