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

python文件處理fileinput使用方法詳解

 更新時間:2020年01月02日 10:19:57   作者:我用python寫B(tài)ug  
這篇文章主要介紹了python文件處理fileinput使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了python文件處理fileinput使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一、介紹

fileinput模塊可以對一個或多個文件中的內(nèi)容進行迭代、遍歷等操作,我們常用的open函數(shù)是對一個文件進行讀寫操作。

fileinput模塊的input()函數(shù)比open函數(shù)更高效和好用,體現(xiàn)在:

input()函數(shù)生成一個迭代器,保證了在遇到大文件的讀取時不會占用太大的內(nèi)存。
用fileinput對文件進行循環(huán)遍歷,格式化輸出,查找、替換等操作,還能獲取每一行的行號等等,非常方便。

二、fileinput讀取文件函數(shù)input的使用格式

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

files:     # 文件的路徑列表,默認(rèn)是stdin方式,多文件['1.txt','2.txt',...]
inplace:    # 是否將標(biāo)準(zhǔn)輸出的結(jié)果寫回文件,默認(rèn)不取代
backup:    # 備份文件的擴展名,只指定擴展名,如.bak。如果該文件的備份文件已存在,則會自動覆蓋。
bufsize:    # 緩沖區(qū)大小,默認(rèn)為0,如果文件很大,可以修改此參數(shù),一般默認(rèn)即可
mode:      # 讀寫模式,默認(rèn)為只讀
openhook:    # 該鉤子用于控制打開的所有文件,比如說編碼方式等;

三、fileinput中的常用函數(shù)

函數(shù) 描述
input([files[, inplace[, backup]]])  幫助迭代多個輸入流中的行
filename()  返回當(dāng)前文件的名稱
lineno()   返回(累計的)當(dāng)前行號
filelineno() 返回在當(dāng)前文件中的行號
isfirstline() 檢查當(dāng)前行是否是文件中的第一行
isstdin() 檢查最后一行是否來自sys.stdin
nextfile() 關(guān)閉當(dāng)前文件并移到下一個文件
close()   關(guān)閉序列

fileinput.input是最重要的函數(shù),它返回一個迭代器對象,如果要處理多個文件,可以向這個函數(shù)提供一個或多個文件名。

還可將參數(shù)inplace設(shè)置為True(inplace=True),對于你訪問的每一行,都需打印出替代內(nèi)容,這些內(nèi)容將被寫回到當(dāng)前輸入文件中,此時可選參數(shù)backup用于給從原始文件創(chuàng)建的備份文件指定擴展名。

四、示例

1、讀取多個文件

# a.txt文件的內(nèi)容
"""
我
是
好
人
"""

# b.txt文件的內(nèi)容
"""
他
是
壞
人
"""

# 讀取一個文件
for line in fileinput.input("a.txt"):
  print(line)


# 讀取多個文件
for line in fileinput.input(["a.txt", "b.txt"]):
  print(line)

2、修改文件并備份原文件

# -*_ coding:utf-8 -*-
import fileinput
for line in fileinput.input("a.txt", backup=".bak", inplace=True):
  line = line.replace("我", "小明")
  print(line)

# 結(jié)果
當(dāng)前文件夾會生成a.txt.bak文件,內(nèi)容是之前的內(nèi)容,
而a.txt文件已經(jīng)被修改了,把"我"變成了"小明"

3、輸出當(dāng)前行號和行內(nèi)容

# -*_ coding:utf-8 -*-
import fileinput

for line in fileinput.input("a.txt"):
  lineno = fileinput.filelineno()
  print lineno, line

# 結(jié)果
1 我
2 是
3 好、
4 人

4、輸出文件名

# -*_ coding:utf-8 -*-
import fileinput
for line in fileinput.input("a.txt"):
  # 在第一行前面先輸出文件名
  if fileinput.isfirstline():
    print fileinput.filename()
  print line
# 結(jié)果
a.txt
我
是
好、
人

其他函數(shù),都是類似的使用方法,這里就不全部介紹了。

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

相關(guān)文章

  • Pandas之MultiIndex對象的示例詳解

    Pandas之MultiIndex對象的示例詳解

    這篇文章主要介紹了Pandas之MultiIndex對象的示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python基礎(chǔ)教程之pip的安裝和卸載

    Python基礎(chǔ)教程之pip的安裝和卸載

    pip是一種工具,可以幫助用戶安裝卸載一些需要的安裝包,非常的簡單實用,下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之pip的安裝和卸載的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • django 類視圖的使用方法詳解

    django 類視圖的使用方法詳解

    這篇文章主要介紹了django 類視圖的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 基于Python實現(xiàn)智能停車場車牌識別計費系統(tǒng)

    基于Python實現(xiàn)智能停車場車牌識別計費系統(tǒng)

    這篇文章主要為大家介紹了如何利用Python實現(xiàn)一個智能停車場車牌識別計費系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動手嘗試一下
    2022-04-04
  • Python中random函數(shù)的用法整理大全

    Python中random函數(shù)的用法整理大全

    random庫是使用隨機數(shù)的Python標(biāo)準(zhǔn)庫,random庫主要用于生成隨機數(shù),下面這篇文章主要給大家介紹了關(guān)于Python?random函數(shù)用法的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 十分鐘利用Python制作屬于你自己的個性logo

    十分鐘利用Python制作屬于你自己的個性logo

    這篇文章主要給大家介紹了關(guān)于十分鐘如何利用Python制作屬于你自己的個性logo的相關(guān)資料,主要利用的是詞云實現(xiàn)這個效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友下面來一起看看吧
    2018-05-05
  • Python腳本實現(xiàn)定時任務(wù)的最佳方法

    Python腳本實現(xiàn)定時任務(wù)的最佳方法

    我們在日常工作中,常常會用到需要周期性執(zhí)行的任務(wù),下面這篇文章主要給大家介紹了關(guān)于Python腳本實現(xiàn)定時任務(wù)的最佳方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • Python中實現(xiàn)列表的逆序、復(fù)制與清除的幾種常見方法

    Python中實現(xiàn)列表的逆序、復(fù)制與清除的幾種常見方法

    本文介紹了Python中列表的逆序、復(fù)制和清除操作,通過reverse()方法、切片、copy()方法和clear()方法,我們可以輕松地對列表進行這些操作
    2024-12-12
  • 教你用Python為二年級的學(xué)生批量生成數(shù)學(xué)題

    教你用Python為二年級的學(xué)生批量生成數(shù)學(xué)題

    這兩天在學(xué)習(xí)pthon,正好遇到老師布置的暑假作業(yè),需要家長給還在出試卷,下面這篇文章主要給大家介紹了關(guān)于如何用Python為二年級的學(xué)生批量生成數(shù)學(xué)題的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Python?pomegranate庫實現(xiàn)基于貝葉斯網(wǎng)絡(luò)拼寫檢查器

    Python?pomegranate庫實現(xiàn)基于貝葉斯網(wǎng)絡(luò)拼寫檢查器

    這篇文章主要為大家介紹了Python?pomegranate庫實現(xiàn)基于貝葉斯網(wǎng)絡(luò)拼寫檢查器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2023-04-04

最新評論

桐城市| 龙游县| 德钦县| 襄垣县| 巴彦淖尔市| 星子县| 镇原县| 文山县| 固镇县| 屏南县| 沭阳县| 扶绥县| 农安县| 忻州市| 福泉市| 洪湖市| 耿马| 拉萨市| 宁德市| 玉屏| 叙永县| 渭源县| 克东县| 科技| 石柱| 电白县| 类乌齐县| 梁平县| 古丈县| 鹰潭市| 桑日县| 上虞市| 大关县| 闵行区| 石棉县| 孝昌县| 禄劝| 怀柔区| 应城市| 通城县| 中山市|