handle = open('full path/file name.txt')
file = handle.read()
print file
for line in handle:
print line
- 打印文件打印正確
- 打印線不返回任何東西。沒有錯誤報告。我在這裏做錯了什麼?
handle = open('full path/file name.txt')
file = handle.read()
print file
for line in handle:
print line
您需要從讀取的數據寫入,句柄是一個文件對象。
for line in file:
print(line)
這會給每個*字符*,而不是每一行。 o請注意,triple-backtick代碼隔離用於GitHub-flavor markdown,它不支持。 – jonrsharpe
file = handle.readlines()...我沒有完全閱讀人員代碼。好的產品 –
一旦你讀取文件(handle.read()
)文件到達終點,所以,試圖再次重複它的時候,它沒有任何關係提供了。
如果要再次使用使用它的內容,你可以將它們存儲在第一讀取和使用存儲的內容每一次,或重置使用文件的開頭尋求:
handle.seek(0)
的首先要注意的是,你現在的for循環不會讓你找到你想要的行爲。您需要有file = handle.readlines()
而不是.read()
。否則,它會將每個字符打印在新行中,而不是每行。 (請注意,handle.readlines()
返回一個列表,所以打印(文件)行現在將打印該列表。
還請注意,使用.read()
文件看完之後,你就需要運行handle.seek(0)
能夠從打印重新備案,否則您將不會收到輸出,作爲「讀者」是在文件的結尾。
*「你應該從文件中讀取。」* - 否,因爲(儘管名稱)它不是文件,它是*內容*作爲字符串。你*可以*遍歷文件句柄。 – jonrsharpe
這是真的。編輯,謝謝! – Windmill
下面的代碼應爲2.7
handle = open('full path/file name.txt') file = handle.read()
handle.seek(0) print file
for line in handle:
print line
工作,你以後'.read'你的文件」 re已經在最後,所以'handle'中沒有更多'line's。 – jonrsharpe