日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python3讀取文件指定行的三種方法

瀏覽:69日期:2022-06-18 15:40:55
目錄行遍歷實現linecache實現命令行sed獲取總結概要行遍歷實現

在python中如果要將一個文件完全加載到內存中,通過file.readlines()即可,但是在文件占用較高時,我們是無法完整的將文件加載到內存中的,這時候就需要用到python的file.readline()進行迭代式的逐行讀取:

filename = ’hello.txt’with open(filename, ’r’) as file: line = file.readline() counts = 1 while line:if counts >= 50000000: breakline = file.readline()counts += 1

這里我們的實現方式是先用一個with語句打開一個文件,然后用readline()函數配合while循環逐行加載,最終通過一個序號標記來結束循環遍歷,輸出文件第50000000行的內容。該代碼的執行效果如下:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py real 0m10.359suser 0m10.062ssys 0m0.296s

可以看到這里的耗時為10s多一些。

linecache實現

雖然在python的readline函數中并沒有實現讀取指定行內容的方案,但是在另一個庫linecache中是實現了的,由于使用的方式較為簡單,這里直接放上代碼示例供參考:

filename = ’hello.txt’import linecachetext = linecache.getline(filename, 50000000)

該代碼的執行結果如下:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py real 0m11.904suser 0m5.672ssys 0m6.231s

雖然在實現方式上簡化了許多,但是我們發現這個實現的用時超過了11s,還不如我們自己手動實現的循環遍歷方案。因此如果是對于性能有一定要求的場景,是不建議采用這個方案的。

命令行sed獲取

我們知道用Linux系統本身自帶的sed指令也是可以獲取到文件指定行或者是指定行范圍的數據的,其執行指令為:sed -n 50000000p filename即表示讀取文件的第50000000行的內容。同時結合python的話,我們可以在python代碼中執行系統指令并獲取輸出結果:

filename = ’hello.txt’import osresult = os.popen(’sed -n {}p {}’.format(50000000, filename)).read()

需要注意的是,如果直接運行os.system()是沒有返回值的,只有os.popen()是有返回值的,并且需要在尾巴加上一個read()的選項。該代碼的執行結果如下:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py real 0m2.532suser 0m0.032ssys 0m0.020s

可以看到直接使用sed指令的執行速度很快,但是用這種方法并不是一本萬利的,比如以下這個例子:

filename = ’hello.txt’import osresult = os.popen(’sed -n {}p {}’.format(500, filename)).read()

我們把讀取第50000000行內容改為讀取第500行的內容,再運行一次程序:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py real 0m2.540suser 0m0.037ssys 0m0.013s

然而我們發現這個速度并沒有因為要讀取的行數減少了而變少,而是幾乎保持不變的。

總結概要

本文通過4個測試案例分析了在python中讀取文件指定行內容的方案,并得到了一些運行耗時的數據。從需求上來說,如果是對于小規模的數據,比如幾百行規模的數據,建議使用readline循環遍歷來操作,速度也相當不錯,或者是linecache中的函數實現也是可以的,甚至可以直接用readlines將整個文本內容加載到內存中。但是對于數據規模比較大的場景,比如超過了千萬行的級別,那么使用sed指令的方式對指定行內容進行讀取的方式,應該是所有方式中最快速的。

本文首發鏈接為:https://www.cnblogs.com/dechinphy/p/lbl.html

作者ID:DechinPhy

以上就是python3讀取文件指定行的三種方法的詳細內容,更多關于python讀取文件指定行的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
丝袜诱惑制服诱惑色一区在线观看| 亚洲欧美日韩国产一区二区| 日韩精品免费视频人成| 亚洲精品极品少妇16p| 久久久水蜜桃av免费网站| 国产精品啊v在线| 国产欧美在线| 久久99精品久久久野外观看| 国产欧美日韩一区二区三区在线| 欧美日韩一区二区三区四区在线观看| 蜜桃久久久久久| 亚洲免费毛片| 日本aⅴ精品一区二区三区| 日本在线成人| 国产乱子精品一区二区在线观看 | 日韩精品高清不卡| 日本欧美韩国一区三区| 国产日韩1区| 精品久久一区| 日韩精品dvd| 欧美另类专区| 亚洲tv在线| 国产欧美日韩精品一区二区免费 | 7777精品| 久久av网址| 成人欧美一区二区三区的电影| 理论片午夜视频在线观看| 久久激情婷婷| 久久av一区二区三区| 日韩精品亚洲一区二区三区免费| 日本在线观看不卡视频| 久久99精品久久久野外观看| 九九精品调教| 久久国产精品99国产| 国产亚洲久久| 日韩中文首页| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩久久一区| 国产在线一区不卡| 黄色亚洲免费| 欧美在线日韩| 在线中文字幕播放| 国产亚洲综合精品| 欧美啪啪一区| 亚洲91久久| 亚洲精品日本| 精品久久电影| 亚洲女人av| 欧美激情91| 蜜桃一区二区三区| 欧美偷窥清纯综合图区| 亚洲精品**中文毛片| 香蕉久久国产| 麻豆久久久久久久| 亚洲女同一区| 国产日韩欧美| 欧美.日韩.国产.一区.二区| 日韩精品亚洲专区在线观看| 三上悠亚国产精品一区二区三区| 免费在线视频一区| 另类小说一区二区三区| 激情欧美亚洲| 国产精品美女在线观看直播| 激情久久五月| 国产精品99久久久久久董美香| 激情久久五月| 麻豆精品新av中文字幕| 国产精品视区| 国产精品二区不卡| 亚洲毛片在线| 在线日韩中文| 国内揄拍国内精品久久| 综合一区av| 久久亚洲成人| 久久精品伊人| 天堂av一区| 日本久久成人网| 国产精品入口久久| 蜜臀av国产精品久久久久 | 91视频精品| 日韩欧美中文字幕电影| 亚洲手机在线| 超碰99在线| 欧美精品三级在线| 热久久国产精品| 美女久久久久| 欧美男人天堂| 国产精品日本一区二区三区在线| 日韩一区二区免费看| 精品香蕉视频| 青青草91久久久久久久久| 激情综合自拍| 在线人成日本视频| 久久精品国产一区二区| 日本不卡视频一二三区| 黄色日韩在线| 日韩精品首页| 黄色欧美在线| 国产欧美丝祙| 日韩av不卡一区二区| 亚洲午夜久久| 性色av一区二区怡红| 久久一区二区三区电影| 色婷婷综合网| 国产欧美一区二区精品久久久| 三级在线观看一区二区| 国户精品久久久久久久久久久不卡| sm捆绑调教国产免费网站在线观看| 国产欧美日韩在线一区二区| 日本中文字幕视频一区| 亚洲在线久久| 欧美在线综合| 三级亚洲高清视频| 日韩视频一区| 欧美久久精品一级c片| 久久黄色影院| 久久精品亚洲人成影院 | 91精品推荐| 欧美少妇精品| 国产传媒在线观看| 日韩av在线播放网址| 国产在线一区不卡| 成人一区而且| 欧美好骚综合网| 国产理论在线| 丝袜美腿一区| 欧美影院三区| 亚洲国产成人精品女人| 亚洲精品97| 午夜在线视频一区二区区别| 老鸭窝亚洲一区二区三区| 9国产精品视频| 欧美在线亚洲| 男女精品网站| 日本在线视频一区二区| 国产亚洲字幕| 麻豆传媒一区二区三区| 国产一区调教| 成人羞羞视频播放网站| 激情五月综合| 午夜在线一区| 911精品国产| 国产一区国产二区国产三区| 成人av三级| 不卡一区综合视频| 手机精品视频在线观看| 日韩欧美中文字幕电影| 欧美日本一区| 日本一区二区免费高清| 久久精品国产大片免费观看| 中日韩男男gay无套| 亚洲精品第一| 欧美黄页在线免费观看 | 国产成人a视频高清在线观看| 日韩欧美精品综合| 欧美网站在线| 婷婷精品在线| 精品国产不卡一区二区| 久久久久一区| 免费在线观看一区二区三区| 欧美在线首页| 精品久久网站| 最新国产拍偷乱拍精品| 日韩精品一级| 国产精品精品国产一区二区| 欧美成人综合| 日韩1区2区3区| 国产欧洲在线| 美日韩精品视频| 国产精品porn| 一区免费视频| 国产精品日本一区二区不卡视频| 午夜精品成人av| 日韩中文字幕无砖| 国产成人精品一区二区三区在线| 伊人成人网在线看| 天堂久久一区| 视频二区不卡| 97久久亚洲| av在线日韩| 日韩在线电影| av日韩中文| 亚欧成人精品| 日韩一区三区| 日韩欧美中文在线观看| 精品国产美女a久久9999| 影音先锋国产精品| 国产精品qvod| 伊人久久成人| 粉嫩av一区二区三区四区五区 | 日韩一区二区三区精品| 日韩免费小视频| 蜜臀av一区二区在线免费观看| 国产一区二区三区探花| 在线亚洲激情| 亚洲国产福利| 日韩精品亚洲专区| 欧美综合另类| 久久精品国产亚洲aⅴ| 综合激情网...|