python 讀取檔案和計算檔案行數

2021-09-03 08:25:13 字數 1210 閱讀 1644

一、計算檔案的行數

最簡單的辦法是把檔案讀入乙個大的列表中,然後統計列表的長度.如果檔案的路徑是以引數的形式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...