python檔案讀取 readlines()方法之坑
一、需求:
有類似如下兩個檔案需要交差對比,進行處理。
1.txt1231
2.txtABCD
二、問題:
首先想到的是開啟之後,兩次for迴圈就是了
#錯誤寫法f1=open(r"D:pytest1.txt",'r')f2=open(r"D:pytest2.txt",'r')for x in f1.readlines(): for y in f2.readlines(): print(x.strip()+y.strip())
輸出結果只有
1A1B1C1D
明顯第一層未迴圈完成啊。
於是測啊測,找啊找,終於明白了。readlines()是一次性工作,讀入記憶體後迭代完成就沒有了
#輸出測試f1=open(r"D:pytest1.txt",'r')f2=open(r"D:pytest2.txt",'r')x1=f1.readlines()for x in x1: x2=f2.readlines() print('x2 is : {}'.format(x2)) for y in x2: print("X : {}".format(x.strip())) print("y:{}".format(y.strip()))
輸出
x2 is : ['An', 'Bn', 'Cn', 'D'] #明顯只請求一次X : 1y:AX : 1y:BX : 1y:CX : 1y:Dx2 is : [] #之後不再重新請求,已成空值,外層停止迴圈x2 is : []x2 is : []
三、解決
可以給它在外層賦個變數儲存一下。修改程式碼如下,終於2層迴圈正常輸出了。
#可用寫法1f1=open(r"D:pytest1.txt",'r')f2=open(r"D:pytest2.txt",'r')X1=f1.readlines()X2=f2.readlines()for x in X1: for y in X2: print(x.strip()+y.strip())
查詢方法的過程中,發現with open 比直接用open更清晰,且不用顯性的close(),於是修改程式碼
#可用寫法2with open(r"D:pytest1.txt",'r') as f1,open(r"D:pytest2.txt",'r') as f2: f11=f1.readlines() f22=f2.readlines() for x in f11: for y in f22: print(x.strip()+y.strip())
測試環境為windows下python3.6
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4550/viewspace-2802749/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python實用方法之讀取本地檔案Python
- python中讀取檔案的read、readline、readlines方法區別Python
- Jmeter之讀取csv檔案踩坑記JMeter
- python讀取yaml配置檔案的方法PythonYAML
- Python之檔案讀取和寫入Python
- python讀取檔案——python讀取和儲存mat檔案Python
- python讀取大檔案的幾種方法Python
- python小白檔案讀取Python
- python讀取大檔案Python
- python 讀取csv檔案Python
- 【python】建立,讀取檔案Python
- python 讀取文字檔案Python
- 讀取檔案方法大全
- Python逐行讀取檔案常用的三種方法!Python
- python讀取檔案指定行的三種方法Python
- Python四種逐行讀取檔案內容的方法Python
- python如何讀取大檔案Python
- Python -讀取,儲存檔案Python
- Python基礎知識之檔案的讀取操作Python
- Spring之Property檔案讀取Spring
- Python讀取大檔案的"坑“與記憶體佔用檢測Python記憶體
- python程式碼讀取遠端檔案的方法--paramikoPython
- Python最常用的讀取指定路徑檔案的方法!Python
- python怎麼讀取配置檔案Python
- Python 讀取HDF5檔案Python
- python解壓並讀取檔案Python
- python讀取和生成excel檔案PythonExcel
- Android讀取配置檔案的方法Android
- EXE檔案結構及讀取方法
- .NET Core 6.0之讀取配置檔案
- python之 檔案讀與寫Python
- 透過python讀取ini配置檔案Python
- Python生成器讀取大檔案Python
- python檔案建立、讀取和寫入Python
- 如何在python中讀取配置檔案Python
- python讀取並寫入mat檔案Python
- python 使用字典讀取CSV檔案Python
- 用 PHP 讀取檔案的正確方法PHP