精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

熱門文章

最新文章

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

發布時間:2021-06-22 15:26:45

行遍歷實現

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

1
2
3
4
5
6
7
8
9
10
filename = 'hello.txt'
 
with open(filename, 'r') as file:
    line = file.readline()
    counts = 1
    while line:
        if counts >= 50000000:
            break
        line = file.readline()
        counts += 1

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

1
2
3
4
5
dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py
 
real    0m10.359s
user    0m10.062s
sys     0m0.296s

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

linecache實現

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

1
2
3
4
filename = 'hello.txt'
 
import linecache
text = linecache.getline(filename, 50000000)

該代碼的執行結果如下:

1
2
3
4
5
dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py
 
real    0m11.904s
user    0m5.672s
sys     0m6.231s

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

命令行sed獲取

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

1
2
3
4
filename = 'hello.txt'
 
import os
result = os.popen('sed -n {}p {}'.format(50000000, filename)).read()

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

1
2
3
4
5
dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py
 
real    0m2.532s
user    0m0.032s
sys     0m0.020s

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

1
2
3
4
filename = 'hello.txt'
 
import os
result = os.popen('sed -n {}p {}'.format(500, filename)).read()

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

1
2
3
4
5
dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py
 
real    0m2.540s
user    0m0.037s
sys     0m0.013s

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

總結概要

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


返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      9000px;">

          51精品秘密在线观看| 亚洲天堂成人在线观看| 伊人夜夜躁av伊人久久| 国产精品资源站在线| 91精品国产一区二区| 夜夜爽夜夜爽精品视频| 99国产一区二区三精品乱码| 国产亚洲一二三区| 久久99精品国产.久久久久久| 欧美性做爰猛烈叫床潮| 成人欧美一区二区三区小说 | www.爱久久.com| 久久久久99精品一区| 久久精品久久久精品美女| 欧美精品在线一区二区三区| 一区二区三区欧美日韩| www.久久久久久久久| 国产日韩精品一区二区三区在线| 麻豆精品国产传媒mv男同| 91麻豆精品国产91久久久久| 亚洲超丰满肉感bbw| 欧美日韩一区三区| 亚洲一区二区三区美女| 日本乱人伦一区| 亚洲乱码国产乱码精品精98午夜| eeuss鲁片一区二区三区在线看| 欧美高清在线一区二区| 成人综合婷婷国产精品久久| 欧美激情艳妇裸体舞| 成人免费毛片片v| 国产精品久久午夜| 91在线观看污| 亚洲免费观看高清完整版在线观看熊| 91日韩精品一区| 一区二区三区小说| 欧美视频在线一区| 日日夜夜精品视频天天综合网| 欧美精品18+| 久久精品99国产精品| 精品国产1区二区| 国产精品自产自拍| 国产精品乱码久久久久久| av高清久久久| 亚洲一区二区三区三| 欧美精品自拍偷拍动漫精品| 日韩国产一二三区| 日韩免费一区二区| 国产精品亚洲一区二区三区在线| 欧美高清在线一区| 色婷婷精品久久二区二区蜜臂av | 成人性生交大合| 欧美国产成人在线| 色婷婷精品久久二区二区蜜臂av| 亚洲动漫第一页| 欧美一级高清片在线观看| 精一区二区三区| 国产午夜精品一区二区 | 自拍偷拍亚洲综合| 色av综合在线| 日韩电影在线免费| 欧美精品一区二区在线观看| 成人国产精品视频| 亚洲永久精品大片| 日韩欧美中文字幕公布| 国产福利一区在线| 亚洲欧美日韩中文播放| 欧美精品aⅴ在线视频| 国产精品一区二区在线播放 | 粉嫩一区二区三区在线看| 韩国v欧美v亚洲v日本v| 欧美三级一区二区| 久久电影国产免费久久电影| 一本大道综合伊人精品热热 | 美女脱光内衣内裤视频久久网站 | 久久激五月天综合精品| 国产欧美日韩精品a在线观看| 91丝袜美女网| 奇米色一区二区三区四区| 欧美精品一区二区三区在线| 成人激情av网| 天堂一区二区在线| 欧美激情一区在线观看| 欧美浪妇xxxx高跟鞋交| 在线成人午夜影院| 成人激情动漫在线观看| 五月激情综合网| 国产三级久久久| 欧美日韩国产精品成人| 国产福利91精品| 久久精品欧美日韩| 欧美日韩综合在线免费观看| 国内精品免费**视频| 一区二区免费在线播放| 亚洲精品在线观看视频| 在线看一区二区| 国产剧情一区在线| 香蕉久久一区二区不卡无毒影院 | 亚洲电影在线播放| 国产人伦精品一区二区| 欧美蜜桃一区二区三区| www.亚洲激情.com| 久久99精品国产麻豆不卡| 亚洲精品乱码久久久久久黑人| 欧美成人精品高清在线播放| 在线免费精品视频| 国产69精品久久777的优势| 日韩av一区二区三区| 亚洲色大成网站www久久九九| 精品国产自在久精品国产| 在线视频一区二区三区| 风间由美一区二区三区在线观看| 日本不卡一区二区三区 | 精品视频一区二区三区免费| 国产91对白在线观看九色| 免费在线看一区| 亚洲自拍偷拍九九九| 国产亚洲精久久久久久| 91麻豆精品国产91久久久久久| 色综合亚洲欧洲| 国产91精品精华液一区二区三区| 麻豆成人av在线| 午夜视频一区二区| 亚洲黄色录像片| 国产精品进线69影院| 欧美精品一区在线观看| 日韩丝袜美女视频| 在线播放欧美女士性生活| 日本国产一区二区| 91蜜桃视频在线| aa级大片欧美| 国产91丝袜在线播放九色| 国产麻豆精品theporn| 麻豆中文一区二区| 三级久久三级久久久| 亚洲亚洲人成综合网络| 亚洲精品久久久久久国产精华液| 国产精品久久久久影视| 久久精品欧美一区二区三区麻豆| 精品日韩在线观看| 欧美不卡在线视频| 日韩一区二区三区高清免费看看| 欧美久久久久久久久中文字幕| 欧美亚洲精品一区| 欧美在线999| 在线观看日韩一区| 欧美性视频一区二区三区| 在线免费观看不卡av| 色香蕉成人二区免费| 日本高清不卡aⅴ免费网站| 色偷偷久久一区二区三区| 91看片淫黄大片一级在线观看| av亚洲精华国产精华精| 91在线观看免费视频| 色婷婷精品久久二区二区蜜臀av| 91丨porny丨最新| 91欧美一区二区| 一本到不卡免费一区二区| 色婷婷亚洲综合| 精品1区2区3区| 7777精品伊人久久久大香线蕉完整版 | a级高清视频欧美日韩| 不卡视频在线看| 色综合久久中文字幕综合网 | 亚洲国产毛片aaaaa无费看| 一区二区三区不卡视频在线观看| 一区二区三区国产| 五月开心婷婷久久| 久久精品国产99国产| 国产精品亚洲视频| 99在线热播精品免费| 91精品办公室少妇高潮对白| 欧美四级电影网| 日韩亚洲欧美综合| 久久久久久日产精品| 国产精品久久看| 亚洲超碰精品一区二区| 亚洲成av人在线观看| 美国精品在线观看| 国产精品一区一区| av电影在线观看不卡| 日本黄色一区二区| 91精品国产色综合久久不卡电影| 日韩情涩欧美日韩视频| 久久精品一级爱片| 亚洲欧美激情视频在线观看一区二区三区 | 国产在线麻豆精品观看| 丰满少妇在线播放bd日韩电影| 92国产精品观看| 欧美日韩高清一区二区| 欧美一区二区三区视频在线观看 | 成人激情av网| 色94色欧美sute亚洲线路一ni| 欧美日本一区二区| 久久久www成人免费毛片麻豆| 国产精品久久网站| 视频一区二区欧美| 粉嫩绯色av一区二区在线观看| 色噜噜狠狠成人中文综合| 欧美一卡2卡三卡4卡5免费| 国产欧美日韩激情|