日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python Basic - python 文件对象的文件交互各类方法描述与实现

發布時間:2023/12/20 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python Basic - python 文件对象的文件交互各类方法描述与实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • read()
        • widowns下file使用相對路徑
        • windows下file使用絕對路徑
        • 指定讀取字符個數
      • readline()
        • 不帶參數
        • 帶數字參數
        • 多次readline() 并觀察光標(指針)的計數
      • readlines()
        • 不帶參數
        • 帶1個數字參數(數字為1小于一行的字符數)
        • 帶1個參數(每數字都小于每行的字符個數)
        • 帶1個參數(大于一行的字符個數)
      • mode="w":--探索w模式默認的一上來就truncate()操作
      • write()--往文件內寫內容
      • write()--探索write()的覆蓋寫操作
      • seek() 設置指針(光標)的位置
      • tell() 獲取當前指針(光標)的位置
      • flush() 將緩存中內容寫到磁盤,刷寫磁盤--打印一個進度條顯示
        • 方法一:使用sys模塊的stdout()
      • truncate() 截短
        • truncate 示例:探索truncate只截取指針(光標)之后的內容
      • fileno() 查看當前文件的“文件描述符”
      • readable()-判斷文件是否可讀
      • writeable()-判斷文件是否可寫

read()

widowns下file使用相對路徑

file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.read())以下為輸出內容 """ 《少年游.本意》金庸 青衫磊落險峰行。玉壁月華明。馬疾香幽。崖高人遠。微步縠紋生。 誰家子弟誰家院。無計悔多情。虎嘯龍吟。換巢鸞鳳。劍氣碧煙橫。 """ file.close()

file:直接填寫了文件名,所以這里使用的是相對路徑,與程序的目錄在一起

windows下file使用絕對路徑

file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.read()) file.close()

輸出內容與上面一樣,此處不張貼

指定讀取字符個數

import sys #導入一個sys模塊 print(sys.getdefaultencoding()) #打印當前python的默認編碼file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.read(8)) #打印前8個位置的字符""" utf-8 《少年游.本意》 """file.close()

readline()

不帶參數

file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.readline())file.close()###############以下為輸出內容############### """ 《少年游.本意》金庸 """

帶數字參數

file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.readline(5)) #打印前5個位置的字符file.close()###############以下為輸出內容############### """ 《少年游. """

多次readline() 并觀察光標(指針)的計數

file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print("還沒開始讀時:",file.tell()) print(file.readline(5)) print("第一次讀:",file.tell()) print(file.readline(5)) print("第二次讀:",file.tell()) print(file.readline(5)) print("第三次讀:",file.tell()) print(file.readline(5)) print("第四次讀:",file.tell()) print(file.readline(5)) print("第五次讀:",file.tell())file.close()###############以下為輸出內容############### """ 還沒開始讀時: 0 《少年游. 第一次讀: 15 本意》金庸 第二次讀: 30第三次讀: 32 青衫磊落險 第四次讀: 47 峰行。玉壁 第五次讀: 62"""

readlines()

不帶參數

file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.readlines())file.close()###############以下為輸出內容############### """ ['《少年游.本意》金庸\n', '青衫磊落險峰行。玉壁月華明。馬疾香幽。崖高人遠。微步縠紋生。\n', '誰家子弟誰家院。無計悔多情。虎嘯龍吟。換巢鸞鳳。劍氣碧煙橫。']"""

帶1個數字參數(數字為1小于一行的字符數)

file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.readlines(1)) print(file.readlines(1)) print(file.readlines(1))file.close()###############以下為輸出內容############### """ ['《少年游.本意》金庸\n'] ['青衫磊落險峰行。玉壁月華明。馬疾香幽。崖高人遠。微步縠紋生。\n'] ['誰家子弟誰家院。無計悔多情。虎嘯龍吟。換巢鸞鳳。劍氣碧煙橫。']

帶1個參數(每數字都小于每行的字符個數)

file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print("還沒開始讀時:",file.tell()) print(file.readlines(5)) print(file.readlines(5)) print(file.readlines(5)) print(file.readlines(5))file.close()###############以下為輸出內容############### """ 還沒開始讀時: 0 ['《少年游.本意》金庸\n'] ['青衫磊落險峰行。玉壁月華明。馬疾香幽。崖高人遠。微步縠紋生。\n'] ['誰家子弟誰家院。無計悔多情。虎嘯龍吟。換巢鸞鳳。劍氣碧煙橫。'] [] """

帶1個參數(大于一行的字符個數)

file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print("還沒開始讀時:",file.tell()) print(file.readlines(11)) print(file.readlines(5)) print(file.readlines(5)) print(file.readlines(5))file.close()###############以下為輸出內容############### """ 還沒開始讀時: 0 ['《少年游.本意》金庸\n', '青衫磊落險峰行。玉壁月華明。馬疾香幽。崖高人遠。微步縠紋生。\n'] ['誰家子弟誰家院。無計悔多情。虎嘯龍吟。換巢鸞鳳。劍氣碧煙橫。'] [] [] """

mode=“w”:–探索w模式默認的一上來就truncate()操作

#################w之前先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("w模式之前讀取文件內容:\n",file.read()) file.close() #查看之后一定要記得關閉這個打開操作#################open()操作執行w模式###################### file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認file.close()#################w之后先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("w模式之后讀取文件內容:\n",file.read()) file.close()###############以下為輸出內容############### """ w模式之前讀取文件內容:《少年游.本意》金庸 青衫磊落險峰行。玉壁月華明。馬疾香幽。崖高人遠。微步縠紋生。 誰家子弟誰家院。無計悔多情。虎嘯龍吟。換巢鸞鳳。劍氣碧煙橫。 w模式之后讀取文件內容:"""### mode="w":--探索w模式默認的一上來就truncate()操作 ```python #################w之前先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("w模式之前讀取文件內容:\n",file.read()) file.close() #查看之后一定要記得關閉這個打開操作#################open()操作執行w模式###################### file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認file.close()#################w之后先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("w模式之后讀取文件內容:\n",file.read()) file.close()###############以下為輸出內容############### """ w模式之前讀取文件內容:《少年游.本意》金庸 青衫磊落險峰行。玉壁月華明。馬疾香幽。崖高人遠。微步縠紋生。 誰家子弟誰家院。無計悔多情。虎嘯龍吟。換巢鸞鳳。劍氣碧煙橫。 w模式之后讀取文件內容:"""

write()–往文件內寫內容

  • 寫之前先讀一下文件內的內容
  • 開始寫操作,并且執行3次write,最后加上換行符\n
  • 寫之后再讀一次文件的內容
  • #################w之前先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("w模式之前讀取文件內容:\n",file.read()) file.close() #查看之后一定要記得關閉這個打開操作#################open()操作執行w模式###################### file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認 file.write(" 先帝創業未半而中道崩殂,今天下三分,益州疲弊,此誠危急存亡之秋也。然侍衛之臣不懈于內,忠志之士忘身于外者,蓋追先帝之殊遇,欲報之于陛下也。誠宜開張圣聽,以光先帝遺德,恢弘志士之氣,不宜妄自菲薄,引喻失義,以塞忠諫之路也。\n ") file.write(" 宮中府中,俱為一體,陟罰臧否,不宜異同。若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理,不宜偏私,使內外異法也。侍中、侍郎郭攸之、費祎、董允等,此皆良實,志慮忠純,是以先帝簡拔以遺陛下。愚以為宮中之事,事無大小,悉以咨之,然后施行,必能裨補闕漏,有所廣益。\n ") file.write(" 將軍向寵,性行淑均,曉暢軍事,試用于昔日,先帝稱之曰能,是以眾議舉寵為督。愚以為營中之事,悉以咨之,必能使行陣和睦,優劣得所。親賢臣,遠小人,此先漢所以興隆也;親小人,遠賢臣,此后漢所以傾頹也。先帝在時,每與臣論此事,未嘗不嘆息痛恨于桓、靈也。侍中、尚書、長史、參軍,此悉貞良死節之臣,愿陛下親之信之,則漢室之隆,可計日而待也。 \n") file.close()#################w之后先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("w模式之后讀取文件內容:\n",file.read()) file.close()###############以下為輸出內容############### """ w模式之前讀取文件內容:先帝創業未半而中道崩殂,今天下三分,益州疲弊,此誠危急存亡之秋也。然侍衛之臣不懈于內,忠志之士忘身于外者,蓋追先帝之殊遇,欲報之于陛下也。誠宜開張圣聽,以光先帝遺德,恢弘志士之氣,不宜妄自菲薄,引喻失義,以塞忠諫之路也。 宮中府中,俱為一體,陟罰臧否,不宜異同。若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理,不宜偏私,使內外異法也。侍中、侍郎郭攸之、費祎、董允等,此皆良實,志慮忠純,是以先帝簡拔以遺陛下。愚以為宮中之事,事無大小,悉以咨之,然后施行,必能裨補闕漏,有所廣益。 將軍向寵,性行淑均,曉暢軍事,試用于昔日,先帝稱之曰能,是以眾議舉寵為督。愚以為營中之事,悉以咨之,必能使行陣和睦,優劣得所。親賢臣,遠小人,此先漢所以興隆也;親小人,遠賢臣,此后漢所以傾頹也。先帝在時,每與臣論此事,未嘗不嘆息痛恨于桓、靈也。侍中、尚書、長史、參軍,此悉貞良死節之臣,愿陛下親之信之,則漢室之隆,可計日而待也。 w模式之后讀取文件內容:先帝創業未半而中道崩殂,今天下三分,益州疲弊,此誠危急存亡之秋也。然侍衛之臣不懈于內,忠志之士忘身于外者,蓋追先帝之殊遇,欲報之于陛下也。誠宜開張圣聽,以光先帝遺德,恢弘志士之氣,不宜妄自菲薄,引喻失義,以塞忠諫之路也。宮中府中,俱為一體,陟罰臧否,不宜異同。若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理,不宜偏私,使內外異法也。侍中、侍郎郭攸之、費祎、董允等,此皆良實,志慮忠純,是以先帝簡拔以遺陛下。愚以為宮中之事,事無大小,悉以咨之,然后施行,必能裨補闕漏,有所廣益。將軍向寵,性行淑均,曉暢軍事,試用于昔日,先帝稱之曰能,是以眾議舉寵為督。愚以為營中之事,悉以咨之,必能使行陣和睦,優劣得所。親賢臣,遠小人,此先漢所以興隆也;親小人,遠賢臣,此后漢所以傾頹也。先帝在時,每與臣論此事,未嘗不嘆息痛恨于桓、靈也。侍中、尚書、長史、參軍,此悉貞良死節之臣,愿陛下親之信之,則漢室之隆,可計日而待也。 """

    write()–探索write()的覆蓋寫操作

  • 寫之前先讀一下文件內的內容
  • 寫第一次文件,寫完后關閉文件
  • 寫第二次文件,寫完后關閉文件
  • 寫之后再讀一次文件的內容
    第一次使用wirite()寫一行,然后再寫一行,最后查看數據只有最后一次寫的一行。此功能可用于臨時的文件,數據不用保存,但是需要臨時寫一下文件。
  • #################w之前先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("w模式之前讀取文件內容:\n",file.read()) file.close() #查看之后一定要記得關閉這個打開操作#################open()操作執行w模式###################### file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認 file.write(" 先帝創業未半而中道崩殂,今天下三分,益州疲弊,此誠危急存亡之秋也。然侍衛之臣不懈于內,忠志之士忘身于外者,蓋追先帝之殊遇,欲報之于陛下也。誠宜開張圣聽,以光先帝遺德,恢弘志士之氣,不宜妄自菲薄,引喻失義,以塞忠諫之路也。\n ") file.close()#################open()操作執行w模式###################### file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認 file.write(" 宮中府中,俱為一體,陟罰臧否,不宜異同。若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理,不宜偏私,使內外異法也。侍中、侍郎郭攸之、費祎、董允等,此皆良實,志慮忠純,是以先帝簡拔以遺陛下。愚以為宮中之事,事無大小,悉以咨之,然后施行,必能裨補闕漏,有所廣益。\n ") file.close()#################w之后先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("w模式之后讀取文件內容:\n",file.read()) file.close()###############以下為輸出內容############### """ w模式之前讀取文件內容:《少年游.本意》金庸 青衫磊落險峰行。玉壁月華明。馬疾香幽。崖高人遠。微步縠紋生。 誰家子弟誰家院。無計悔多情。虎嘯龍吟。換巢鸞鳳。劍氣碧煙橫。 w模式之后讀取文件內容:宮中府中,俱為一體,陟罰臧否,不宜異同。若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理,不宜偏私,使內外異法也。侍中、侍郎郭攸之、費祎、董允等,此皆良實,志慮忠純,是以先帝簡拔以遺陛下。愚以為宮中之事,事無大小,悉以咨之,然后施行,必能裨補闕漏,有所廣益。"""

    seek() 設置指針(光標)的位置

  • 打開一個文件使用read讀兩行
  • seek光標到0
  • 讀第三次
  • seek光標到0
  • 讀第四次
  • 查看結果
  • file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print("第一次讀12個位置:",file.read(12)) print("第二次讀15個位置:",file.read(15)) file.seek(0) print("第三次讀12個位置:",file.read(12)) file.seek(0) print("第四次讀15個位置:",file.read(15)) file.close() #查看之后一定要記得關閉這個打開操作 """ 第一次讀12個位置: 臣本布衣,躬耕于南陽, 第二次讀15個位置: 茍全性命于亂世,不求聞達于諸侯 第三次讀12個位置: 臣本布衣,躬耕于南陽, 第四次讀15個位置: 臣本布衣,躬耕于南陽,茍全性"""

    tell() 獲取當前指針(光標)的位置

    file = open("C:\少年游本意",mode="r",encoding="utf8") #其它參數默認 print("還沒開始讀時:",file.tell()) print(file.readline(5)) print("第一次讀:",file.tell()) print(file.readline(5)) print("第二次讀:",file.tell()) print(file.readline(5)) print("第三次讀:",file.tell()) print(file.readline(5)) print("第四次讀:",file.tell()) print(file.readline(5)) print("第五次讀:",file.tell())file.close()###############以下為輸出內容############### """ 還沒開始讀時: 0 《少年游. 第一次讀: 15 本意》金庸 第二次讀: 30第三次讀: 32 青衫磊落險 第四次讀: 47 峰行。玉壁 第五次讀: 62 """

    flush() 將緩存中內容寫到磁盤,刷寫磁盤–打印一個進度條顯示

    方法一:使用sys模塊的stdout()

    import sys,timefor i in range(50):sys.stdout.write("*")sys.stdout.flush()time.sleep(1) """ ************************************************** 結果是一個動態的效果 """

    方法二:使用print()方法

    for i in range(50):print("*",flush=True,end="")time.sleep(1)

    truncate() 截短

    truncate 示例:探索truncate只截取指針(光標)之后的內容

    示例一:未使用seek定位光標內容

  • w模式寫入文件
  • truncate
  • print查看內容
  • 結果為寫入的兩行
  • file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認 file.write("臣本布衣,躬耕于南陽,茍全性命于亂世,不求聞達于諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣于草廬之中,咨臣以當世之事,由是感激,遂許先帝以驅馳。后值傾覆,受任于敗軍之際,奉命于危難之間,爾來二十有一年矣。 \n") file.truncate() file.write("臣本布衣,躬耕于南陽,茍全性命于亂世,不求聞達于諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣于草廬之中,咨臣以當世之事,由是感激,遂許先帝以驅馳。后值傾覆,受任于敗軍之際,奉命于危難之間,爾來二十有一年矣。 \n") #file.seek(0) file.truncate() file.close() #################w之前先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") print("truncate后:\n",file.read()) file.close()"""truncate后:臣本布衣,躬耕于南陽,茍全性命于亂世,不求聞達于諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣于草廬之中,咨臣以當世之事,由是感激,遂許先帝以驅馳。后值傾覆,受任于敗軍之際,奉命于危難之間,爾來二十有一年矣。 臣本布衣,躬耕于南陽,茍全性命于亂世,不求聞達于諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣于草廬之中,咨臣以當世之事,由是感激,遂許先帝以驅馳。后值傾覆,受任于敗軍之際,奉命于危難之間,爾來二十有一年矣。 """

    示例二:使用seek定位光標內容

  • w模式寫入文件
  • seek光標位置為0后
  • truncate
  • print查看內容
  • 結果為空
  • file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認 file.write("臣本布衣,躬耕于南陽,茍全性命于亂世,不求聞達于諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣于草廬之中,咨臣以當世之事,由是感激,遂許先帝以驅馳。后值傾覆,受任于敗軍之際,奉命于危難之間,爾來二十有一年矣。 \n") file.truncate() file.write("臣本布衣,躬耕于南陽,茍全性命于亂世,不求聞達于諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣于草廬之中,咨臣以當世之事,由是感激,遂許先帝以驅馳。后值傾覆,受任于敗軍之際,奉命于危難之間,爾來二十有一年矣。 \n") file.seek(0) file.truncate() file.close() #################w之前先讀取文件的內容并輸出查看一遍###################### file = open("少年游本意",mode="r",encoding="utf8") print("truncate后:\n",file.read()) file.close()""" truncate后:"""

    fileno() 查看當前文件的“文件描述符”

    file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認 print(file.fileno()) file.close()file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.fileno()) file.close() """ 3 3 """

    readable()-判斷文件是否可讀

    file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認 print(file.readable()) print(file.writable()) file.close()file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.readable()) print(file.writable()) file.close() """ False True True False """

    writeable()-判斷文件是否可寫

    file = open("少年游本意",mode="w",encoding="utf8") #其它參數默認 print(file.readable()) print(file.writable()) file.close()file = open("少年游本意",mode="r",encoding="utf8") #其它參數默認 print(file.readable()) print(file.writable()) file.close() """ False True True False """

    總結

    以上是生活随笔為你收集整理的Python Basic - python 文件对象的文件交互各类方法描述与实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。