精品久久久久久亚洲精品_成人午夜网站_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;">

          亚洲特级片在线| 福利视频网站一区二区三区| 99在线视频精品| 久久久久国产精品厨房| 狠狠色综合日日| 久久午夜色播影院免费高清| 国产剧情一区在线| 日本一区二区综合亚洲| 成人av网址在线观看| 亚洲精品成人悠悠色影视| 91色九色蝌蚪| 日本在线不卡视频| 久久蜜桃香蕉精品一区二区三区| 3d成人h动漫网站入口| 久久综合综合久久综合| 久久丝袜美腿综合| 国产亚洲精品资源在线26u| 91在线播放网址| 色8久久精品久久久久久蜜| 亚洲综合免费观看高清在线观看| 91精品国模一区二区三区| 欧美日韩国产片| 激情五月婷婷综合| 精品一区二区成人精品| 日韩理论片中文av| 亚洲人成网站在线| 久久综合狠狠综合| 国产精品久久久久桃色tv| 欧美剧在线免费观看网站| 成人精品电影在线观看| 91黄色激情网站| 欧美精品三级日韩久久| 精品日本一线二线三线不卡| 一本高清dvd不卡在线观看| 玖玖九九国产精品| 成人av手机在线观看| 91黄色免费网站| 欧美成人bangbros| 亚洲国产精品99久久久久久久久| 日韩精品一区二区三区视频播放 | 精品亚洲porn| fc2成人免费人成在线观看播放| 99久久精品免费看| 国产激情精品久久久第一区二区 | 久久综合久久综合亚洲| 亚洲乱码国产乱码精品精小说| 亚洲第一狼人社区| 国产精品天干天干在线综合| 精品久久一区二区三区| 亚洲日本在线a| 日av在线不卡| 久久疯狂做爰流白浆xx| 成人av在线影院| 欧美一区二区三区男人的天堂| 欧美精品国产精品| 国产精品嫩草99a| 日本中文字幕一区二区视频| av亚洲精华国产精华精| 欧美成va人片在线观看| 亚洲国产成人av网| 亚洲国产成人av网| 成人精品高清在线| 26uuu成人网一区二区三区| 亚洲国产视频a| 波波电影院一区二区三区| 欧美tickling网站挠脚心| 亚洲国产精品影院| 91在线丨porny丨国产| 久久久久久久综合色一本| 水蜜桃久久夜色精品一区的特点 | 99久久婷婷国产综合精品电影| 日韩亚洲欧美中文三级| 精品久久久久久久久久久久包黑料| 亚洲靠逼com| 91视频免费看| 中文字幕一区二区三区色视频| 一区二区三区产品免费精品久久75| 亚洲欧美一区二区三区国产精品| 国产一区二区三区不卡在线观看| 国产夫妻精品视频| 久久精品亚洲麻豆av一区二区 | 亚洲第一精品在线| 欧美日韩小视频| 日韩精品一区二| 日韩中文欧美在线| 制服丝袜日韩国产| 理论片日本一区| 欧美大片在线观看一区| 久久精品久久精品| 欧美不卡一区二区三区四区| 国产在线看一区| 日本一区二区三区在线观看| 成人a免费在线看| 亚洲黄色片在线观看| 欧美亚洲国产一卡| 国产网站一区二区| 成人美女视频在线观看| 91精品视频网| 国产精品性做久久久久久| 中文字幕欧美日本乱码一线二线| 成人app在线观看| **性色生活片久久毛片| 欧美日韩免费高清一区色橹橹| 午夜精品影院在线观看| 99精品久久免费看蜜臀剧情介绍| 亚洲乱码国产乱码精品精98午夜 | 日韩女优电影在线观看| 国产精品自产自拍| 亚洲欧美日本韩国| 欧美人成免费网站| 国产麻豆9l精品三级站| 亚洲狼人国产精品| 精品国产亚洲一区二区三区在线观看| 亚洲一区二区三区三| 日韩精品一区二区三区在线观看| 国产精品一区二区在线播放| 亚洲男人都懂的| 日韩免费成人网| 99精品国产视频| 久久精品国产精品亚洲综合| 欧美国产综合一区二区| 欧美日韩美女一区二区| 成人午夜免费电影| 天使萌一区二区三区免费观看| 国产三级久久久| 91麻豆精品国产91| 成人精品视频一区| 久久99国产精品免费| 亚洲精品免费在线| 国产欧美一区二区三区在线老狼| 欧美日韩免费观看一区三区| av中文字幕亚洲| 国产激情视频一区二区三区欧美| 午夜伦欧美伦电影理论片| 日韩美女视频19| 国产喂奶挤奶一区二区三区| 日韩女优av电影| 欧美特级限制片免费在线观看| 成人激情午夜影院| 精品一区二区成人精品| 日韩av电影免费观看高清完整版| 一区二区三区高清在线| 日韩一区欧美一区| 国产精品免费久久久久| 欧美精品一区二区久久婷婷 | 成人性生交大合| 国产一区二区福利视频| 美女免费视频一区二区| 欧美成人精品3d动漫h| 精品视频在线免费| 色婷婷综合久久久中文一区二区| 国产激情一区二区三区四区| 精品午夜久久福利影院| 日本女人一区二区三区| 天堂在线亚洲视频| 天堂影院一区二区| 日韩精品亚洲一区| 日韩av成人高清| 免费国产亚洲视频| 免费av成人在线| 激情六月婷婷综合| 国产最新精品精品你懂的| 国精品**一区二区三区在线蜜桃| 免费的国产精品| 韩国v欧美v亚洲v日本v| 国产精品正在播放| 成人免费毛片高清视频| 99久久综合国产精品| 99在线精品免费| 欧洲精品一区二区| 国产99久久久久久免费看农村| 国产精品一区二区无线| jlzzjlzz欧美大全| 日本国产一区二区| 欧美日韩一区二区欧美激情| 91精品国产综合久久久蜜臀粉嫩| 91精品国产美女浴室洗澡无遮挡| 精品国产污污免费网站入口| 国产欧美精品一区二区色综合| 三级不卡在线观看| 《视频一区视频二区| 亚洲色图视频网站| 亚洲一区二区中文在线| 麻豆传媒一区二区三区| 成人午夜免费视频| 欧美日韩在线免费视频| 欧美v日韩v国产v| 中文字幕一区在线| 免费成人在线观看| 成人黄色网址在线观看| 欧美日韩黄视频| 国产日本一区二区| 五月婷婷久久综合| 狠狠v欧美v日韩v亚洲ⅴ| 91论坛在线播放| 欧美mv和日韩mv的网站| 亚洲精选免费视频| 国产九色精品成人porny| 日本精品一级二级| wwww国产精品欧美|