2017-08-28 42 views
-1

所以我wrtitten驗證碼:在python中讀取一個沒有拖拽換行符的文件?

CaseList = [] 
f_Case = open("C:/Users/Luke Roberts/Desktop/Lists/CaseList.txt", "r") 
for line in f_Case: 
    CaseList.append(line) 
print(CaseList) 

但是當我打印的清單它出來爲:

['Case 1\n', 'Case 2\n', 'Case 3\n', 'Case 4\n', 'Case 5'] 

是否有已被它添加到列表中沒有的方式「 \ N'? 如果沒有,是否有辦法從每個字符串中刪除'\ n'?

任何和所有幫助表示讚賞! 乾杯

回答

5

默認情況下,總是從文件中讀取行以及尾隨換行符。只需撥打str.rstrip並擺脫它。

for line in f_Case: 
    CaseList.append(line.rstrip()) 

現在,CaseList應該是這個樣子:

['Case 1', 'Case 2', 'Case 3', 'Case 4', 'Case 5'] 

法定建議:你應該換一個with...as上下文管理器中的文件I/O,它使得對更清潔的代碼。

with open("C:/Users/Luke Roberts/Desktop/Lists/CaseList.txt", "r") as f_Case: 
    for line in f_Case: 
     CaseList.append(line) 

這樣一來,你就不必調用f_Case.close()(你目前沒有做,但應該已經),所以你已經得到了額外的便利去與安全。

+0

請記住,'line.rstrip()'將刪除不僅僅是換行符。您可能想使用'line.rstrip('\ r \ n')'代替。 –

相關問題