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

Python fileinput模塊如何逐行讀取多個(gè)文件

 更新時(shí)間:2020年10月05日 08:52:53   作者:lincappu  
這篇文章主要介紹了Python fileinput模塊如何逐行讀取多個(gè)文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Python 提供了 fileinput 模塊,通過(guò)該模塊中的 input() 函數(shù),我們能同時(shí)打開指定的多個(gè)文件,還可以逐個(gè)讀取這些文件中的內(nèi)容。

fileinput 模塊中 input() 該函數(shù)的語(yǔ)法格式如下:

fileinput.input(files="filename1, filename2, ...", inplace=False, backup='', bufsize=0, mode='r', openhook=None)

此函數(shù)會(huì)返回一個(gè) FileInput 對(duì)象,它可以理解為是將多個(gè)指定文件合并之后的文件對(duì)象。其中,各個(gè)參數(shù)的含義如下:

  • files:多個(gè)文件的路徑列表;
  • inplace:用于指定是否將標(biāo)準(zhǔn)輸出的結(jié)果寫回到文件,此參數(shù)默認(rèn)值為 False;
  • backup:用于指定備份文件的擴(kuò)展名;
  • bufsize:指定緩沖區(qū)的大小,默認(rèn)為 0;
  • mode:打開文件的格式,默認(rèn)為 r(只讀格式);
  • openhook:控制文件的打開方式,例如編碼格式等。

注意,和 open() 函數(shù)不同,input() 函數(shù)不能指定打開文件的編碼格式,這意味著使用該函數(shù)讀取的所有文件,除非以二進(jìn)制方式進(jìn)行讀取,否則該文件編碼格式都必須和當(dāng)前操作系統(tǒng)默認(rèn)的編碼格式相同,不然 Python 解釋器可能會(huì)提示 UnicodeDecodeError 錯(cuò)誤。

和 open() 函數(shù)返回單個(gè)的文件對(duì)象不同,fileinput 對(duì)象無(wú)需調(diào)用類似 read()、readline()、readlines() 這樣的函數(shù),直接通過(guò) for 循環(huán)即可按次序讀取多個(gè)文件中的數(shù)據(jù)。

值得一提的是,fileinput 模塊還提供了很多使用的函數(shù)(如表 1 所示),通過(guò)調(diào)用這些函數(shù),可以幫我們更快地實(shí)現(xiàn)想要的功能。

表 fileinput 模塊常用函數(shù)

函數(shù)名 功能描述
fileinput.filename() 返回當(dāng)前正在讀取的文件名稱。
fileinput.fileno() 返回當(dāng)前正在讀取文件的文件描述符。
fileinput.lineno() 返回當(dāng)前讀取了多少行。
fileinput.filelineno() 返回當(dāng)前正在讀取的內(nèi)容位于當(dāng)前文件中的行號(hào)。
fileinput.isfirstline() 判斷當(dāng)前讀取的內(nèi)容在當(dāng)前文件中是否位于第 1 行。
fileinput.nextfile() 關(guān)閉當(dāng)前正在讀取的文件,并開始讀取下一個(gè)文件。
fileinput.close() 關(guān)閉 FileInput 對(duì)象。

文件描述符是一個(gè)文件的代號(hào),其值為一個(gè)整數(shù)。后續(xù)章節(jié)將會(huì)介紹關(guān)于文件描述符的操作。

講了這么多,接下來(lái)舉個(gè)例子。假設(shè)使用 input() 讀取 2 個(gè)文件,分別為 my_file.txt 和 file.txt,它們位于同一目錄,且各自包含的內(nèi)容如下所示:

#file.txt
Python教程
http://c.biancheng.net/python/

#my_file.txt
Linux教程
http://c.biancheng.net/linux_tutorial/

下面程序演示了如何使用 input() 函數(shù)依次讀取這 2 個(gè)文件:

import fileinput
#使用for循環(huán)遍歷 fileinput 對(duì)象
for line in fileinput.input(files=('my_file.txt', 'file.txt')):
# 輸出讀取到的內(nèi)容
print(line)
# 關(guān)閉文件流
fileinput.close()

在使用 fileinput 模塊中的 input() 函數(shù)之前,一定要先引入 fileinput 模塊。

程序執(zhí)行結(jié)果為:

Linux教程

http://c.biancheng.net/linux_tutorial/
Python教程

http://c.biancheng.net/python/

顯然,讀取文件內(nèi)容的次序,取決于 input() 函數(shù)中文件名的先后次序。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • R語(yǔ)言 vs Python對(duì)比:數(shù)據(jù)分析哪家強(qiáng)?

    R語(yǔ)言 vs Python對(duì)比:數(shù)據(jù)分析哪家強(qiáng)?

    R語(yǔ)言和Python在數(shù)據(jù)分析方法都各有所長(zhǎng),兩者現(xiàn)在可以說(shuō)是都非常熱門的,那么這篇文章就來(lái)給大家總結(jié)介紹關(guān)于R語(yǔ)言和Python數(shù)據(jù)分析的相關(guān)資料,并給大家推薦了一些相關(guān)的書籍學(xué)習(xí),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起看看吧。
    2017-11-11
  • 2023巨詳細(xì)的Python安裝庫(kù)教程(以pycharm和Anaconda安裝pygame為例)

    2023巨詳細(xì)的Python安裝庫(kù)教程(以pycharm和Anaconda安裝pygame為例)

    這篇文章主要給大家介紹了巨詳細(xì)的Python安裝庫(kù)教程,文中以pycharm和Anaconda安裝pygame為例,通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Python 線性回歸分析以及評(píng)價(jià)指標(biāo)詳解

    Python 線性回歸分析以及評(píng)價(jià)指標(biāo)詳解

    這篇文章主要介紹了Python 線性回歸分析以及評(píng)價(jià)指標(biāo)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python中的Dataset和Dataloader詳解

    Python中的Dataset和Dataloader詳解

    這篇文章主要介紹了Python中的Dataset和Dataloader詳解,DataLoader與DataSet是PyTorch數(shù)據(jù)讀取的核心,是構(gòu)建一個(gè)可迭代的數(shù)據(jù)裝載器,每次執(zhí)行循環(huán)的時(shí)候,就從中讀取一批Batchsize大小的樣本進(jìn)行訓(xùn)練,需要的朋友可以參考下
    2023-07-07
  • 詳解Python中的分組函數(shù)groupby和itertools)

    詳解Python中的分組函數(shù)groupby和itertools)

    這篇文章主要介紹了Python中的分組函數(shù)groupby和itertools)的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-07-07
  • Python numpy.interp的實(shí)例詳解

    Python numpy.interp的實(shí)例詳解

    本文主要介紹了Python numpy.interp的實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 基于 Django 的手機(jī)管理系統(tǒng)實(shí)現(xiàn)過(guò)程詳解

    基于 Django 的手機(jī)管理系統(tǒng)實(shí)現(xiàn)過(guò)程詳解

    這篇文章主要介紹了基于 Django 的手機(jī)管理系統(tǒng)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 基于Flask實(shí)現(xiàn)一個(gè)智能的多語(yǔ)言Hello World服務(wù)器

    基于Flask實(shí)現(xiàn)一個(gè)智能的多語(yǔ)言Hello World服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了如何使用Flask框架創(chuàng)建一個(gè)智能的多語(yǔ)言Hello World服務(wù)器,能夠自動(dòng)檢測(cè)訪問(wèn)者的瀏覽器語(yǔ)言設(shè)置,需要的可以了解下
    2025-03-03
  • 使用ITK-SNAP進(jìn)行摳圖操作并保存mask的實(shí)例

    使用ITK-SNAP進(jìn)行摳圖操作并保存mask的實(shí)例

    這篇文章主要介紹了使用ITK-SNAP進(jìn)行摳圖操作并保存mask的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 值得收藏,Python 開發(fā)中的高級(jí)技巧

    值得收藏,Python 開發(fā)中的高級(jí)技巧

    這篇文章主要介紹了Python 開發(fā)中的高級(jí)技巧,非常不錯(cuò),具有收藏價(jià)值,感興趣的朋友一起看看吧
    2018-11-11

最新評(píng)論

息烽县| 桓仁| 故城县| 新乐市| 鸡泽县| 元氏县| 马公市| 增城市| 宜兴市| 淳安县| 民勤县| 阿瓦提县| 五台县| 景泰县| 体育| 马龙县| 南川市| 平顺县| 涟源市| 库尔勒市| 宾阳县| 霍州市| 南康市| 财经| 雷州市| 称多县| 南投县| 阿瓦提县| 桦川县| 汤原县| 灵璧县| 胶州市| 普格县| 自贡市| 平江县| 溆浦县| 义马市| 青浦区| 巴彦淖尔市| 道孚县| 高唐县|