2016-09-20 178 views
0

我知道在這個主題中有太多的問題,但我仍然無法找到我沒有在Python中逐行讀取文本文件的原因。讀取文本文件逐行讀取不工作

我正在使用Python 3.4.3,我想逐行讀取文本文件。

with open('D:\filename.txt') as fp: 
    for line in fp: 
     print (line) 

我複製粘貼命令提示符上面的行,但沒有打印。

我有Sathiya作爲文本的文件。

我只是想在我的命令提示符下打印這個文本。我在這裏做錯了什麼?

enter image description here

enter image description here

+0

喜@ sathiya - 庫馬爾,你忘了讀選項 - >'開放的( 'd:\ FILENAME.TXT', 'R')作爲FP:' –

+1

@AndyK''r''是默認值。我猜你是在寫完'with'後給你輸入的,對嗎? –

+0

Hi @Jim,看着屏幕截圖看起來好像不是這樣...... –

回答

1

反斜槓(d:\˚F ilename.txt)在文件名中逸出f炭。 這就是爲什麼open找不到該文件。 要處理的情況,你可以做以下內容:

你一定要逃逸路徑\字符:

with open('D:\\filename.txt') as fp: 
    for line in fp: 
     print (line) 

還有一些其他的方式,例如,你可以使用正斜槓:

with open('D:/filename.txt') as fp: 
    ... 

或者你可以使用一些幫手方法:

import os 

file_path = os.path.join('d:', 'filename.txt') 
with open(filename) as fp: 
    ... 

您也可以使用原始字符串。

with open(r'D:\filename.txt') as fp: 
    ... 
+1

或使用原始字符串,這是處理正則表達式和Windows路徑的最佳方式:'r'D:\ filename。txt'' – ShadowRanger

+0

我只是添加到我的答案:) – scriptmonster

+0

我嘗試了所有這些步驟,仍然沒有得到:( –