婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python3讀取文件指定行的三種方法

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

熱門標簽:地圖標注線上如何操作 河北防封卡電銷卡 應電話機器人打電話違法嗎 400電話辦理哪種 開封自動外呼系統怎么收費 開封語音外呼系統代理商 手機網頁嵌入地圖標注位置 電銷機器人的風險 天津電話機器人公司

行遍歷實現

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

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行的內容。該代碼的執行效果如下:

dechin@ubuntu2004:~/projects/gitlab/dechin/$ time python3 get_line.py 

real    0m10.359s
user    0m10.062s
sys     0m0.296s

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

linecache實現

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

filename = 'hello.txt'

import linecache
text = linecache.getline(filename, 50000000)

該代碼的執行結果如下:

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代碼中執行系統指令并獲取輸出結果:

filename = 'hello.txt'

import os
result = 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.532s
user    0m0.032s
sys     0m0.020s

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

filename = 'hello.txt'

import os
result = os.popen('sed -n {}p {}'.format(500, filename)).read()

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

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指令的方式對指定行內容進行讀取的方式,應該是所有方式中最快速的。

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

作者ID:DechinPhy

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

您可能感興趣的文章:
  • python 利用openpyxl讀取Excel表格中指定的行或列教程
  • Python fileinput模塊如何逐行讀取多個文件
  • Python 整行讀取文本方法并去掉readlines換行\n操作
  • python讀取excel進行遍歷/xlrd模塊操作
  • 如何在Python對Excel進行讀取
  • 使用Python對Dicom文件進行讀取與寫入的實現
  • python讀取文件指定行內容實例講解
  • Python逐行讀取文件內容的方法總結
  • Python從文件中讀取指定的行以及在文件指定位置寫入
  • python按行讀取文件并找出其中指定字符串

標簽:江蘇 駐馬店 蘭州 山東 六盤水 宿遷 常州 成都

巨人網絡通訊聲明:本文標題《python3讀取文件指定行的三種方法》,本文關鍵詞  python3,讀取,文件,指定,行的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python3讀取文件指定行的三種方法》相關的同類信息!
  • 本頁收集關于python3讀取文件指定行的三種方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美va亚洲va在线观看蝴蝶网| 美女一区二区在线观看| 久久亚洲一级片| 中文字幕一区二区三区不卡| 欧美日韩电影一区| 国产制服丝袜一区| 午夜久久电影网| 蜜臀精品一区二区三区在线观看| 精品中文字幕一区二区| 成人h动漫精品一区二区| 在线观看视频91| 国产日韩高清在线| 黑人精品欧美一区二区蜜桃| 欧美精品乱码久久久久久| 亚洲欧洲成人精品av97| 国产999精品久久久久久绿帽| 色婷婷av一区二区三区之一色屋| 欧美大片一区二区| 精品在线观看视频| 欧美一区二区精品在线| 午夜精品久久久久久久久| 日韩免费福利电影在线观看| 国产成人鲁色资源国产91色综| 一区二区三区精品| 在线视频国产一区| 寂寞少妇一区二区三区| 一区二区在线观看免费视频播放| 欧美日本在线一区| 懂色中文一区二区在线播放| 久久久综合视频| 日韩电影在线一区二区三区| 国产电影一区在线| 精品国产污网站| 在线观看视频91| 国产高清不卡一区| 午夜免费欧美电影| 欧洲激情一区二区| 国产精品嫩草99a| 国产精品12区| 国产精品欧美综合在线| 国产精品自拍网站| 欧美国产一区在线| 成人激情免费网站| 国产精品久久久久国产精品日日| 国产乱人伦偷精品视频免下载 | 老汉av免费一区二区三区| 欧美日韩在线播放三区| 亚洲成人午夜电影| 日韩欧美激情一区| 九九热在线视频观看这里只有精品| 欧美亚洲丝袜传媒另类| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产在线精品一区二区| 一区二区三区免费网站| 成av人片一区二区| 久久综合色8888| 日韩欧美你懂的| 亚洲激情中文1区| 国产剧情在线观看一区二区| 国产福利精品导航| 欧美本精品男人aⅴ天堂| 亚洲成av人在线观看| 91极品美女在线| 最新日韩av在线| 91亚洲精华国产精华精华液| 精品成人一区二区三区四区| 国产传媒日韩欧美成人| 成人国产精品免费网站| 3d成人h动漫网站入口| 精品福利视频一区二区三区| 日韩美女啊v在线免费观看| 亚洲线精品一区二区三区| 久久99国产精品免费网站| 国产不卡视频一区| 日韩亚洲欧美在线| 亚洲成av人片在线观看| 亚洲影视在线观看| 亚洲午夜在线电影| 亚洲一区二区精品3399| 亚洲欧美另类小说视频| 日本一区二区三区在线不卡 | 国产片一区二区| 日韩国产高清在线| 91福利社在线观看| 中文字幕在线观看一区| 高清视频一区二区| 一区精品在线播放| 亚洲综合激情小说| 亚洲专区一二三| 丝袜a∨在线一区二区三区不卡 | 国产亚洲欧美一级| 中文在线免费一区三区高中清不卡| 国产成人精品免费一区二区| 99久久精品久久久久久清纯| 91视频国产观看| 一本色道a无线码一区v| 香蕉影视欧美成人| 亚洲另类在线制服丝袜| 亚洲成人手机在线| 美腿丝袜亚洲综合| 日本成人在线不卡视频| 成人高清免费观看| 欧美在线观看禁18| 中文字幕免费不卡| av在线免费不卡| 亚洲午夜在线电影| 久久伊人蜜桃av一区二区| 99这里只有久久精品视频| 亚洲精品免费一二三区| 精品视频免费在线| 蜜桃av噜噜一区| 亚洲精品成人少妇| 99国产精品一区| 国产精品理论片在线观看| 国产精品77777| 国产精品国产三级国产aⅴ入口| 91精品国产免费| 一区二区三区资源| 91久久精品一区二区三| 日本一区二区三区dvd视频在线| 午夜精品爽啪视频| 欧洲精品中文字幕| 婷婷综合久久一区二区三区| 一级精品视频在线观看宜春院| 亚洲图片欧美一区| 欧美性受xxxx黑人xyx性爽| 91尤物视频在线观看| 综合av第一页| 日本va欧美va欧美va精品| 亚洲色图欧洲色图| 天堂一区二区在线| 国产在线一区观看| 色综合久久久久久久久| 欧美日韩在线播| 国产肉丝袜一区二区| 欧美日韩免费观看一区二区三区| 国产一区二区三区免费在线观看| 欧美日韩极品在线观看一区| 日日夜夜精品视频免费| 精品粉嫩超白一线天av| 日本黄色一区二区| 久久国产三级精品| 亚洲欧美日韩成人高清在线一区| 日韩美女视频一区二区在线观看| 99久久精品费精品国产一区二区| 免费观看一级特黄欧美大片| 亚洲啪啪综合av一区二区三区| 91精品国产综合久久精品app| 成人国产电影网| 日韩精品一二三| 亚洲精品第一国产综合野| 久久免费午夜影院| 欧美一区二区播放| 色婷婷精品久久二区二区蜜臀av| 国产精品888| 老司机免费视频一区二区三区| 亚洲黄色片在线观看| 国产蜜臀av在线一区二区三区| 日韩午夜电影在线观看| 欧美性极品少妇| 成人看片黄a免费看在线| 免费三级欧美电影| 亚洲高清免费一级二级三级| 中文字幕永久在线不卡| 久久综合成人精品亚洲另类欧美| 欧美色网一区二区| 在线看日韩精品电影| 不卡区在线中文字幕| 国产麻豆精品一区二区| 欧美a一区二区| 日本欧洲一区二区| 日本不卡的三区四区五区| 日韩综合小视频| 一卡二卡三卡日韩欧美| 中文字幕一区在线观看视频| 国产日韩精品一区二区浪潮av| 久久色.com| 国产日韩v精品一区二区| 2024国产精品| 久久久久久99精品| 国产欧美视频一区二区三区| 亚洲国产高清在线观看视频| 国产嫩草影院久久久久| 国产亚洲一区字幕| 国产日韩欧美一区二区三区乱码 | www.在线欧美| 国产99久久久国产精品免费看| 国产成人在线观看免费网站| 粉嫩久久99精品久久久久久夜| 国产不卡免费视频| 99国产精品国产精品久久| 91在线免费视频观看| 一本久久a久久免费精品不卡| 在线观看av一区二区| 91精品国产入口在线| 欧美高清激情brazzers| 精品国产91九色蝌蚪| 中文字幕第一区综合| 亚洲视频一二三区| 亚洲国产精品一区二区久久恐怖片|