最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python讀取文件的三種方式總結(jié)

 更新時(shí)間:2023年07月17日 17:24:19   作者:Commas.KM  
Python的文本處理是經(jīng)常碰到的一個(gè)問題,非常重要的,這篇文章主要和大家分享的是3個(gè)Python讀取文本文件內(nèi)容的常用方法,希望對(duì)大家深入學(xué)習(xí)Python有所幫助

一、前言

Python的文本處理是經(jīng)常碰到的一個(gè)問題,非常重要的,所以才決定重新寫一期關(guān)于文件讀取的文章。這里有3個(gè)Python讀取文本文件內(nèi)容的方法介紹給大家:

  • read()
  • readline()
  • readlines()

這三種方法各有利弊,下面逐一介紹其使用方法和利弊。

二、讀取文件的三種方法

read()

該方法一次性讀取整個(gè)文件的內(nèi)容,并將內(nèi)容保存在一個(gè)字符串對(duì)象中。因?yàn)槭且淮涡宰x取,所以適用于文件較小的情況。這種方法返回的是一個(gè)字符串對(duì)象。

優(yōu)點(diǎn):方便簡(jiǎn)單,一次性讀取到一個(gè)大字符串中,速度快;

缺點(diǎn):文件過大的時(shí)候,占用內(nèi)存也會(huì)很大,不適宜讀取大文件;

示例:

# coding:utf-8
if __name__ == "__main__":
    # open
    f = open("example.txt",encoding='utf8')
    # read
    # f = open("example.txt",encoding='utf8')
    lines = f.read()
    print(lines)
    # close
    f.close()

也可以用with,如下:

# coding:utf-8
if __name__ == "__main__":
    with open("example.txt",encoding='utf8') as f:
        lines = f.read()
        print(lines)

輸出:

Nothing could be more wonderful!
沒有比這更讓人高興的了!

readline()

該方法每次讀取一行內(nèi)容,并返回一個(gè)字符串對(duì)象。由于是逐行讀取,所以適用于大文件。

  • 優(yōu)點(diǎn):逐行讀取,占用內(nèi)存小,適合讀取大文件;
  • 缺點(diǎn):逐行讀取,速度相對(duì)較慢;

示例:

# coding:utf-8
if __name__ == "__main__":
    # open
    f = open("example.txt",encoding='utf8')
    # read
    line = f.readline()
    while line:
        print(line,end="")
        line = f.readline()
    # close
    f.close()

也可以用with,如下:

# coding:utf-8
if __name__ == "__main__":
    with open("example.txt",encoding='utf8') as f:
        line = f.readline()
        while line:
            print(line,end="")
            line = f.readline()

輸出:

Nothing could be more wonderful!
沒有比這更讓人高興的了!

readlines()

該方法讀取整個(gè)文件的所有行,并將每行內(nèi)容保存在一個(gè)列表(list)變量中。由于是一次性讀取整個(gè)文件,所以適用于文件較小的情況。

優(yōu)點(diǎn):一次性讀取文本內(nèi)容,速度較快;

缺點(diǎn):文件過大的時(shí)候,占用內(nèi)存也會(huì)很大,不適宜讀取大文件;

示例:

# coding:utf-8
if __name__ == "__main__":
    # open
    f = open("example.txt",encoding='utf8')
    # read
    lines = f.readlines()
    for line in lines:
        print(line,end="")
    # close
    f.close()

也可以用with,如下:

# coding:utf-8
if __name__ == "__main__":
    with open("example.txt",encoding='utf8') as f:
        lines = f.readlines()
        for line in lines:
            print(line,end="")

輸出:

Nothing could be more wonderful!
沒有比這更讓人高興的了!

三、小結(jié)

完整語法:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

間接語法(常用):

open(file, mode='r', encoding=None)

知識(shí)加油站:關(guān)于權(quán)限代碼mode的知識(shí),看過我之前博客的小伙伴應(yīng)該都有所了解了,不清楚的小伙伴可以看我的另外一篇博客《python設(shè)置文件只讀與取消文件只讀》,這里就不再重復(fù)贅述了。

因?yàn)榱?xí)慣了open,close,所以特意拎出來一下,一定要成雙成對(duì)呀,當(dāng)然您也可以用with。

序號(hào)方法說明
1open()打開文件,獲取文件對(duì)象io.TextIOWrapper
2close()關(guān)閉對(duì)象,這個(gè)操作一定要做,否則會(huì)造成系統(tǒng)資源消耗

三個(gè)讀文件的方法:

序號(hào)方法說明
1read()讀取文件所有內(nèi)容,加載到內(nèi)存中 ;此方法適用于小文件操作
2readline()讀取當(dāng)前文件指針中的一行內(nèi)容,加載到內(nèi)存中;此方法適用于大文件操作
3readlines()將制定內(nèi)容寫入到列表(list)中,此方法適用于小文件操作

最后,值得指出的一點(diǎn)是,Python不依賴底層操作系統(tǒng)的文本文件概念,所有的處理都是由Python本身完成的,因此與平臺(tái)無關(guān)。

到此這篇關(guān)于Python讀取文件的三種方式總結(jié)的文章就介紹到這了,更多相關(guān)Python讀取文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python如何計(jì)算語句執(zhí)行時(shí)間

    Python如何計(jì)算語句執(zhí)行時(shí)間

    這篇文章主要介紹了Python如何計(jì)算語句執(zhí)行時(shí)間,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法

    Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解Django框架中用context來解析模板的方法

    詳解Django框架中用context來解析模板的方法

    這篇文章主要介紹了詳解Django框架中用context來解析模板的方法,Django是重多高人氣Python框架中最為著名的一個(gè),需要的朋友可以參考下
    2015-07-07
  • 利用Python中unittest實(shí)現(xiàn)簡(jiǎn)單的單元測(cè)試實(shí)例詳解

    利用Python中unittest實(shí)現(xiàn)簡(jiǎn)單的單元測(cè)試實(shí)例詳解

    如果項(xiàng)目復(fù)雜,進(jìn)行單元測(cè)試是保證降低出錯(cuò)率的好方法,Python提供的unittest可以很方便的實(shí)現(xiàn)單元測(cè)試,從而可以替換掉繁瑣雜亂的main函數(shù)測(cè)試的方法,將測(cè)試用例、測(cè)試方法進(jìn)行統(tǒng)一的管理和維護(hù)。本文主要介紹了利用Python中unittest實(shí)現(xiàn)簡(jiǎn)單的單元測(cè)試。
    2017-01-01
  • 如何用python插入獨(dú)創(chuàng)性聲明

    如何用python插入獨(dú)創(chuàng)性聲明

    這篇文章主要介紹了如何用python插入獨(dú)創(chuàng)性聲明,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python Opencv中基礎(chǔ)的知識(shí)點(diǎn)

    Python Opencv中基礎(chǔ)的知識(shí)點(diǎn)

    這篇文章主要介紹了Python Opencv中基礎(chǔ)的知識(shí)點(diǎn),主要包括創(chuàng)建窗口、保存圖片、采集視頻、鼠標(biāo)控制的代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Pandas之drop_duplicates:去除重復(fù)項(xiàng)方法

    Pandas之drop_duplicates:去除重復(fù)項(xiàng)方法

    下面小編就為大家分享一篇Pandas之drop_duplicates:去除重復(fù)項(xiàng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python環(huán)境的報(bào)錯(cuò)解決方法

    python環(huán)境的報(bào)錯(cuò)解決方法

    這篇文章主要為大家介紹了python環(huán)境的報(bào)錯(cuò)解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • python生成密碼字典的方法

    python生成密碼字典的方法

    今天小編就為大家分享一篇python生成密碼字典的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • JupyterNotebook 輸出窗口的顯示效果調(diào)整方法

    JupyterNotebook 輸出窗口的顯示效果調(diào)整方法

    這篇文章主要介紹了JupyterNotebook 輸出窗口的顯示效果調(diào)整方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04

最新評(píng)論

恩平市| 施甸县| 中方县| 阜城县| 长垣县| 大足县| 朝阳区| 岳池县| 渝中区| 敦煌市| 铁岭市| 集安市| 扬州市| 弋阳县| 全椒县| 东至县| 广灵县| 临潭县| 视频| 莎车县| 琼海市| 荣昌县| 团风县| 西乌珠穆沁旗| 迁西县| 平安县| 邵武市| 嘉善县| 公主岭市| 太仆寺旗| 岳阳县| 浑源县| 宁津县| 翼城县| 安宁市| 承德市| 武汉市| 景泰县| 南乐县| 九寨沟县| 如皋市|