python統計檔案行數效率對比

2021-07-12 02:54:15 字數 843 閱讀 7117

我們現在有乙個檔案exp_data,想統計它的行數

現在有四種方法:

1、直接把檔案通過readlines()讀入為乙個大list,然後統計list的長度

2、每一行計數

3、直接借助os包呼叫shell函式

#! /usr/bin/python

#-*-coding:utf-8-*-

import time,os

answer=

with

open('exp_data','r') as f:

#方法1

t=time.time()

print len(f.readlines())

print time.time()-t

#方法2

f.seek(0)

t=time.time()

i=0forline

in f:

i+=1

print time.time()-t

#方法3

f.seek(0)

t=time.time()

os.popen('wc -l exp_data').read().split()[0]

print time.time()-t

輸出結果為:

645820

0.560460090637

0.301792860031

0.0874769687653

可以很明顯看到,檔案的行數為645820,按照效率從高到低排序為:方法三》方法二》方法一

也就是說,還是直接呼叫shell指令碼比自己在python裡計數要快很多

Linux統計檔案行數

語法 wc 選項 檔案 說明 該命令統計給定檔案中的位元組數 字數 行數。如果沒有給出檔名,則從標準輸入讀取。wc同時也給出所有指定檔案的 計數。字是由空格字元區分開的最大字串。該命令各選項含義如下 c 統計位元組數。l 統計行數。w 統計字數。這些選項可以組合使用。輸出列的順序和數目不受選項的順序...

Linux統計檔案行數

2011 07 17 17 32 by 依水間,21497 閱讀,0 語法 wc 選項 檔案 說明 該命令統計給定檔案中的位元組數 字數 行數。如果沒有給出檔名,則從標準輸入讀取。wc同時也給出所有指定檔案的 計數。字是由空格字元區分開的最大字串。該命令各選項含義如下 c 統計位元組數。l 統計行數...

Linux統計檔案行數

語法 wc 選項 檔案 說明 該命令統計給定檔案中的位元組數 字數 行數。如果沒有給出檔名,則從標準輸入讀取。wc同時也給出所有指定檔案的 計數。字是由空格字元區分開的最大字串。該命令各選項含義如下 c 統計位元組數。l 統計行數。w 統計字數。這些選項可以組合使用。輸出列的順序和數目不受選項的順序...