方法一 Python 讀取文件
針對小文件可行,大文件效率和性能都很差。以下是幾種寫法
def
get_count
(
file_abs_name
)
:
"""
:param: file_abs_name 文件名含絕對路徑
"""
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 文件名含絕對路徑
"""
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
)
:
"""
論壇很多這種寫法,但是大部分都寫錯了
"""
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 讀取文件行數
采用Linux命令的方式,讀取效率比較高
import
os
def
get_count
(
file_abs_name
)
:
"""
"""
cmd
=
'wc -l '
+
file_abs_name
return
int
(
os
.
system
(
cmd
)
)
方法三 linecache庫 Python第三方庫
程序員的正常思路 是在github搜索相關資源
linecache2
https://github.com/testing-cabal/linecache2
該庫提供了獲取總行數, 以及制定某行內容等的方法
linecache_light
https://github.com/Yelrose/linecache_light
功能同上,內存開銷更小
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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