欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、前言

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

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

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

二、讀取文件的三種方法

read()

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

優(yōu)點(diǎ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è)字符串對象。由于是逐行讀取,所以適用于大文件。

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

示例:

# 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,所以特意拎出來一下,一定要成雙成對呀,當(dāng)然您也可以用with。

序號(hào)方法說明
1open()打開文件,獲取文件對象io.TextIOWrapper
2close()關(guān)閉對象,這個(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytorch中tensor轉(zhuǎn)換為float的實(shí)現(xiàn)示例

    pytorch中tensor轉(zhuǎn)換為float的實(shí)現(xiàn)示例

    本文主要介紹了pytorch中tensor轉(zhuǎn)換為float,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • Python3.7中安裝openCV庫的方法

    Python3.7中安裝openCV庫的方法

    這篇文章主要介紹了Python3.7中安裝openCV庫的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • Python 中Operator模塊的使用

    Python 中Operator模塊的使用

    這篇文章主要介紹了Python 中Operator模塊的使用,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • Python實(shí)現(xiàn)投影法分割圖像示例(二)

    Python實(shí)現(xiàn)投影法分割圖像示例(二)

    今天小編就為大家分享一篇Python實(shí)現(xiàn)投影法分割圖像示例(二),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 基于OpenCv實(shí)現(xiàn)的人臉識(shí)別(附Python完整代碼)

    基于OpenCv實(shí)現(xiàn)的人臉識(shí)別(附Python完整代碼)

    人臉識(shí)別是基于人的臉部特征信息進(jìn)行身份識(shí)別的一種生物識(shí)別技術(shù),下面這篇文章主要給大家介紹了關(guān)于如何基于OpenCv實(shí)現(xiàn)的人臉識(shí)別,文中還附Python完整代碼,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Anaconda入門使用總結(jié)

    Anaconda入門使用總結(jié)

    個(gè)人嘗試了很多類似的發(fā)行版,最終選擇了Anaconda,因?yàn)槠鋸?qiáng)大而方便的包管理與環(huán)境管理的功能。該文主要介紹下Anaconda,對Anaconda的理解,并簡要總結(jié)下相關(guān)的操作
    2018-04-04
  • python 元組和列表的區(qū)別

    python 元組和列表的區(qū)別

    這篇文章主要介紹了python 元組和列表的區(qū)別,幫助大家更好的理解和學(xué)習(xí)python 數(shù)據(jù)類型的相關(guān)知識(shí),感興趣的朋友可以了解下
    2020-11-11
  • python通過http上傳文件思路詳解

    python通過http上傳文件思路詳解

    這篇文章主要介紹了python通過http上傳文件,在post請求中,用files參數(shù)來接受文件對象相關(guān)的參數(shù),通過data/json參數(shù)接受post請求體的其他參數(shù)
    2021-07-07
  • 基于Python實(shí)現(xiàn)人臉自動(dòng)戴口罩系統(tǒng)

    基于Python實(shí)現(xiàn)人臉自動(dòng)戴口罩系統(tǒng)

    2019年新型冠狀病毒感染的肺炎疫情發(fā)生以來,牽動(dòng)人心,舉國哀痛,口罩、酒精、消毒液奇貨可居。這篇文章主要介紹了基于Python的人臉自動(dòng)戴口罩系統(tǒng),需要的朋友可以參考下
    2020-02-02
  • 詳解Django-restframework 之頻率源碼分析

    詳解Django-restframework 之頻率源碼分析

    這篇文章主要介紹了Django-restframework 之頻率源碼分析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論