方法一 Python 讀取文件
針對(duì)小文件可行,大文件效率和性能都很差。以下是幾種寫法
def
get_count
(
file_abs_name
)
:
"""
:param: file_abs_name 文件名含絕對(duì)路徑
"""
with
open
(
file_abs_name
,
'r'
)
as
f
:
cnt
=
len
(
f
.
readlines
)
f
.
flush
(
)
return
cnt
def
get_count
(
file_abs_name
)
:
"""
:param: file_abs_name 文件名含絕對(duì)路徑
"""
with
open
(
file_abs_name
,
'r'
)
as
f
:
cnt
=
0
for
line
in
f
:
cnt
+=
1
f
.
flush
(
)
return
cnt
def
get_count
(
file_abs_name
)
:
"""
論壇很多這種寫法,但是大部分都寫錯(cuò)了
"""
cnt
=
0
with
open
(
file_abs_name
,
'r'
)
as
f
:
for
index
,
line
in
enumerate
(
f
)
:
pass
f
.
flush
(
)
cnt
=
index
+
1
return
cnt
方法二 Linux 讀取文件行數(shù)
采用Linux命令的方式,讀取效率比較高
import
os
def
get_count
(
file_abs_name
)
:
"""
"""
cmd
=
'wc -l '
+
file_abs_name
return
int
(
os
.
system
(
cmd
)
)
方法三 linecache庫(kù) Python第三方庫(kù)
程序員的正常思路 是在github搜索相關(guān)資源
linecache2
https://github.com/testing-cabal/linecache2
該庫(kù)提供了獲取總行數(shù), 以及制定某行內(nèi)容等的方法
linecache_light
https://github.com/Yelrose/linecache_light
功能同上,內(nèi)存開銷更小
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
