一、計算檔案的行數
最簡單的辦法是把檔案讀入乙個大的列表中,然後統計列表的長度.如果檔案的路徑是以引數的形式filepath傳遞的,那麼只用一行**就可以完成我們的需求了:
count = len(open(filepath,'ru').readlines())
如果是非常大的檔案,上面的方法可能很慢,甚至失效.此時,可以使用迴圈來處理:
count = -1
for count, line in enumerate(open(thefilepath, 'ru')):
pass
count += 1
另外一種處理大檔案比較快的方法是統計檔案中換行符的個數』\n 『(或者包含』\n』的字串,如在windows系統中):
count = 0
thefile = open(thefilepath, 'rb')
while true:
buffer = thefile.read(8192*1024)
if not buffer:
break
count += buffer.count('\n')
thefile.close( )
引數』rb』是必須的,否則在windows系統上,上面的**會非常慢.
linecache是專門支援讀取大檔案,而且支援行式讀取的函式庫。 linecache預先把檔案讀入快取起來,後面如果你訪問該檔案的話就不再從硬碟讀取。
二、讀取檔案某一行的內容(測試過1g大小的檔案,效率還可以)
import linecache
count = linecache.getline(filename,linenum)
三、用linecache讀取檔案內容(測試過1g大小的檔案,效率還可以)
str = linecache.getlines(filename)
str為列表形式,每一行為列表中的乙個元素
用read讀取檔案內容:
a=open('/home/ubuntu/b.txt','rb')
fr=a.read() #一次讀取檔案內所有行內容
fr1=b.readline() #每次讀取檔案一行,知道全部讀完
fr2=c.readlines() #讀取檔案內全部內容
感謝: 的分享 python 檔案讀取和寫入
def upload file request try if request.method post data request.files data assert data,引數必傳 data num random.randint 0,100 file name os.path.join setti...
Python檔案讀取
python提供了多種方法實現檔案讀取操作 1 read 2 readline 3 readlines 4 xreadlines 很多人也在糾結到底應該選擇哪種方式,甚至疑問在處理大檔案時應該選擇哪種方式,因為擔心檔案過大導致記憶體佔用率過高甚至無法完全載入。其實,這個問題是多餘的,在引入了迭代器和...
python檔案讀取
1.讀取txt檔案 read 讀取整行檔案 readline 讀取一行資料 readines 讀取所有行的資料 讀取txt檔案 user file open user info.txt r lines user file.readlines forline inlines username line...