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

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

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

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

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

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

此函數(shù)會(huì)返回一個(gè) FileInput 對象,它可以理解為是將多個(gè)指定文件合并之后的文件對象。其中,各個(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è)的文件對象不同,fileinput 對象無需調(diào)用類似 read()、readline()、readlines() 這樣的函數(shù),直接通過 for 循環(huán)即可按次序讀取多個(gè)文件中的數(shù)據(jù)。

值得一提的是,fileinput 模塊還提供了很多使用的函數(shù)(如表 1 所示),通過調(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)前文件中的行號。
fileinput.isfirstline() 判斷當(dāng)前讀取的內(nèi)容在當(dāng)前文件中是否位于第 1 行。
fileinput.nextfile() 關(guān)閉當(dāng)前正在讀取的文件,并開始讀取下一個(gè)文件。
fileinput.close() 關(guān)閉 FileInput 對象。

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

講了這么多,接下來舉個(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 對象
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ù)中文件名的先后次序。

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

相關(guān)文章

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

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

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

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

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

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

    這篇文章主要介紹了Python 線性回歸分析以及評價(jià)指標(biāo)詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    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í)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 基于 Django 的手機(jī)管理系統(tǒng)實(shí)現(xiàn)過程詳解

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

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

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

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

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

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

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

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

最新評論

岱山县| 岫岩| 贵州省| 新宁县| 阳西县| 彰武县| 错那县| 化德县| 上林县| 扶风县| 同江市| 峡江县| 泰安市| 湘潭市| 亚东县| 南投市| 长白| 永靖县| 察雅县| 林芝县| 贞丰县| 涞源县| 双辽市| 高清| 龙岩市| 中牟县| 建德市| 聊城市| 阳高县| 凤城市| 民乐县| 从江县| 东莞市| 营口市| 永德县| 汉源县| 随州市| 灯塔市| 平塘县| 丽水市| 德昌县|