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

Python實(shí)現(xiàn)文件的讀寫操作指南

 更新時(shí)間:2026年03月01日 15:39:47   作者:小政同學(xué)  
這篇文章主要介紹了Python中文件的讀寫操作,包括文件打開、讀取、寫入以及關(guān)閉等步驟,具體內(nèi)容涵蓋了文件的打開方式、各種讀取方法(如read、readline、readlines)以及寫入方法,需要的朋友可以參考下

1、文件的操作流程

操作一個(gè)文件需要經(jīng)歷以下幾個(gè)流程:分別是打開文件、讀取或?qū)懭胛募?、關(guān)閉文件。

2、文件的讀取方式

2.1 如何打開一個(gè)文件呢?

打開文件我們使用到了Python中的open方法,其中open方法有以下幾個(gè)參數(shù)

--------------------------------------------------------------------

open(文件路徑,操作類型,encoding="編碼格式")

--------------------------------------------------------------------

1、文件路徑:我們要打開的文件的絕對(duì)路徑

2、操作類型:表示要對(duì)文件進(jìn)行哪些操作,這里我們有讀(r),寫(w),追加(a)三種

        a、讀(r):以字母r來表示,功能是只能讀取文件,并不能對(duì)文件進(jìn)行寫入操作。

        b、寫(w):以字母w來表示,讀取并向文件中寫入內(nèi)容,但寫入前會(huì)清空原有內(nèi)容。

        c、追加(a):以字母a來表示,能夠讀取和寫入,寫入時(shí)不會(huì)清空內(nèi)容,而是追加。

3、編碼格式:我們這里通常使用utf-8來進(jìn)行編碼,Python2則使用的是gbk的格式

#這里打開了一個(gè)名為test.txt的文件,并且讀取的編碼為UTF-8
f = open("E:/python/test.txt","r",encoding="UTF-8")

print(type(f)) #打印類型:<class '_io.TextIOWrapper'>
print(f) #<_io.TextIOWrapper name='E:/python3學(xué)習(xí)庫(kù)/study/02-python中級(jí)操作/test.txt' mode='r' encoding='UTF-8'>


#關(guān)閉打開的文件
f.close()

【小提示】在文件打開完畢之后要使用close()方法將其關(guān)閉。

2.1.1 with關(guān)鍵字簡(jiǎn)化打開文件方式

我們讀取文件也可以通過with關(guān)鍵字進(jìn)行簡(jiǎn)化,

#使用with方式讀取文件,as f2是起了別名,相當(dāng)于變量,f2可用于后續(xù)操作
# with open("C:/test.txt","r",encoding="UTF-8") as f2:
#     for i in f2:
#         print(i)


#有一點(diǎn),使用了with后,我們則不用再寫close方法,with會(huì)在我們讀取完畢文件后自動(dòng)調(diào)用close方法關(guān)閉

2.2 read方法讀取文件內(nèi)容

  • read方法是基于open打開文件對(duì)象中的一個(gè)讀取文件的方法。
  • 其功能為讀取文件中的內(nèi)容,默認(rèn)是讀取所有內(nèi)容。
  • 通過read(10)方式可讀取文件中的前10個(gè)字符(包括特殊字符)

2.2.1 read讀取所有內(nèi)容

直接使用文件對(duì)象f.read()的方式,可實(shí)現(xiàn)讀取文件中從頭到尾所有內(nèi)容。

#打開一個(gè)文件
f = open("C:/test.txt","r","utf-8")

#讀取并輸出文件全部?jī)?nèi)容
print(f.read())

2.2.2 讀取指定字符數(shù)量

這里通過read(參數(shù))的形式實(shí)現(xiàn)傳參讀取文件中從頭開始的指定數(shù)量的字符,比如我使用了read(15),則表示要讀取文件中前15個(gè)字符(包括特殊字符回車、換行、空格等)

f = open("文件路徑","r","utf-8")


print(f.read(10))


#文件原內(nèi)容:我是test.txt文件,用來讀取和寫入操作
#讀取前10個(gè)字符:我是test.txt文件

【小知識(shí)點(diǎn)】這里read方法有一個(gè)特殊的讀取方式,如果我們基于此文件打開對(duì)象調(diào)用了兩次或多次read方法,則第二次讀取會(huì)接著上次讀取到的文件內(nèi)容位置而向下繼續(xù)讀取。

例如:read(10):這個(gè)就表示他讀取了文件中前十個(gè)字符(包括特殊符號(hào)在內(nèi)的),那么我們?cè)趫?zhí)行read時(shí),他就會(huì)從文件中第11個(gè)字符開始向后讀取內(nèi)容,不會(huì)在讀取前面的內(nèi)容。

2.3 readlines()讀取所有內(nèi)容,并將其每行存儲(chǔ)為列表。

  • readlines同樣是內(nèi)置的讀取文件的方法,他與read都可以讀取文件所有內(nèi)容。
  • 不同的是readlines方法會(huì)將讀取都的每一行內(nèi)容存儲(chǔ)為一個(gè)列表元素,最后返回一個(gè)列表。
#打開文件步驟省略.....



print(f.readlines())

#以下是文件原內(nèi)容
#我是test.txt文件,用來讀取和寫入操作
#第二行i和監(jiān)督權(quán)維護(hù)好
#第三行火堆2hu
#第四行電弧好


#讀取之后為
['我是test.txt文件,用來讀取和寫入操作\n', '第二行i和監(jiān)督權(quán)維護(hù)好\n', '第三行火堆2hu\n', '第四行電弧好']

2.4 readline方法讀取單行內(nèi)容

此方法可用于讀取單行的內(nèi)容,因?yàn)橐粋€(gè)readline他就只讀取一行內(nèi)容。

如果還想讀取下一行,可多寫幾個(gè)readline或者使用循環(huán)來完成讀取。

通過以下這個(gè)案例我們可以看到文件有四行內(nèi)容,而我們讀取輸出了首行。

#讀取文件方式省略.....


print(f.readline())

#以下是文件原內(nèi)容
#我是test.txt文件,用來讀取和寫入操作
#第二行i和監(jiān)督權(quán)維護(hù)好
#第三行火堆2hu
#第四行電弧好


#讀取之后輸出
#我是test.txt文件,用來讀取和寫入操作

3、文件的寫入操作

  • 寫入操作主要是使用操作方式中的w和a模式來實(shí)現(xiàn)。
  • w表示寫入,a表示追加。
  • 這里新增了一個(gè)名為f.flush()的方法,作用是刷新文件內(nèi)容,但現(xiàn)在此功能在close中已支持。

【小知識(shí)點(diǎn)】文件寫入的流程:

  1. 調(diào)用write時(shí),會(huì)將要寫入的內(nèi)容寫入內(nèi)存的緩沖區(qū)。
  2. 在執(zhí)行close或者flush后,會(huì)強(qiáng)制將緩沖區(qū)的寫入內(nèi)容寫入到文件中(也就是磁盤中存儲(chǔ))
  3. 不執(zhí)行以上兩個(gè)方法時(shí),則系統(tǒng)會(huì)在緩沖區(qū)滿后將內(nèi)容寫入文件。

3.1 w寫入模式下的write方法

在此模式下,write方法會(huì)先清空文件中原內(nèi)容,之后再將新的內(nèi)容寫入進(jìn)去,每次都會(huì)清空原內(nèi)容。

with open("C:/test.txt","w",encoding="utf-8") as f:
 f.write("hello,我是w模式下寫入的內(nèi)容")
 print(f.read())


#以下是文件原內(nèi)容
#我是test.txt文件,用來讀取和寫入操作
#第二行i和監(jiān)督權(quán)維護(hù)好

#寫入后的文件內(nèi)容(原內(nèi)容已被write清空)
#hello,我是w模式下寫入的內(nèi)容

3.2 a寫入模式下的write方法

a模式下,write不執(zhí)行清空文件操作,而是會(huì)在內(nèi)容后直接去將內(nèi)容追加寫入(不會(huì)自動(dòng)換行)。

with open("C:/test.txt","a",encoding="utf-8") as f:
 f.write("hello,我是a模式下寫入的內(nèi)容")
 print(f.read())


#以下是文件原內(nèi)容
#我是test.txt文件,用來讀取和寫入操作
#第二行i和監(jiān)督權(quán)維護(hù)好

#寫入后的文件內(nèi)容(原內(nèi)容還在,新內(nèi)容在最后一行內(nèi)容后追加寫入)
#我是test.txt文件,用來讀取和寫入操作
#第二行i和監(jiān)督權(quán)維護(hù)好hello,我是a模式下寫入的內(nèi)容

3.2.1 【小案例】a模式實(shí)現(xiàn)文件的隔行寫入

實(shí)現(xiàn)在寫入時(shí),第1、3、5等奇數(shù)行寫入內(nèi)容,偶數(shù)則執(zhí)行換行操作。

#【案例】a模式的隔行寫入
f2 = open(filedir,"a",encoding="UTF-8") 
#a模式會(huì)將內(nèi)容追加到文件內(nèi)容最后一行內(nèi)容的后面,不換行

i = 0
while i<10:
   f2.write(f"\n我來試一下?lián)Q行寫入的功能{i}")
   i += 1

f2.flush()

f2.close()


3、總結(jié)

  • 學(xué)習(xí)了通過open方法打開文件操作,r讀取、w清空寫入、a追加最后三種文件操作模式。
  • 通過read(全部)、readline(單行)、readlines(多行列表)方法實(shí)現(xiàn)讀取內(nèi)容操作。
  • 通過write方法實(shí)現(xiàn)寫入,flush和close實(shí)現(xiàn)內(nèi)容刷新和關(guān)閉文件操作。
  • 最后完成了一個(gè)在a模式下實(shí)現(xiàn)隔行寫入內(nèi)容的案例。

以上就是Python實(shí)現(xiàn)文件的讀寫操作指南的詳細(xì)內(nèi)容,更多關(guān)于Python文件讀寫操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python繪圖庫(kù)Matplotlib的安裝

    python繪圖庫(kù)Matplotlib的安裝

    這篇文章主要介紹了python庫(kù)繪圖Matplotlib的安裝,需要的朋友可以參考下
    2014-07-07
  • 使用python實(shí)現(xiàn)md5加密

    使用python實(shí)現(xiàn)md5加密

    這篇文章主要介紹了使用python實(shí)現(xiàn)md5加密,md5為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用于確保信息傳輸完整一致,需要的朋友可以參考下
    2023-04-04
  • Python隨機(jī)函數(shù)random()使用方法小結(jié)

    Python隨機(jī)函數(shù)random()使用方法小結(jié)

    random()是Python中生成隨機(jī)數(shù)的函數(shù),是由random模塊控制,random()函數(shù)不能直接訪問,需要導(dǎo)入random 模塊,然后再通過相應(yīng)的靜態(tài)對(duì)象調(diào)用該方法才能實(shí)現(xiàn)相應(yīng)的功能
    2018-04-04
  • 如何利用Python開發(fā)一個(gè)簡(jiǎn)單的猜數(shù)字游戲

    如何利用Python開發(fā)一個(gè)簡(jiǎn)單的猜數(shù)字游戲

    這篇文章主要給大家介紹了關(guān)于如何利用Python開發(fā)一個(gè)簡(jiǎn)單的猜數(shù)字游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 用python實(shí)現(xiàn)讀取xlsx表格操作

    用python實(shí)現(xiàn)讀取xlsx表格操作

    大家好,本篇文章主要講的是用python實(shí)現(xiàn)讀取xlsx表格操作,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • OpenCV中圖像與視頻的基礎(chǔ)操作總結(jié)

    OpenCV中圖像與視頻的基礎(chǔ)操作總結(jié)

    在計(jì)算機(jī)視覺領(lǐng)域,OpenCV是一款廣泛使用的開源庫(kù),本文為大家介紹了如何使用OpenCV進(jìn)行這些操作,希望能幫助你更好地掌握?qǐng)D像處理和視覺任務(wù)的開發(fā)技巧
    2023-06-06
  • 10個(gè)頂級(jí)Python實(shí)用庫(kù)推薦

    10個(gè)頂級(jí)Python實(shí)用庫(kù)推薦

    這篇文章主要推薦了10個(gè)頂級(jí)Python實(shí)用庫(kù),幫助大家更好的理解和學(xué)習(xí)實(shí)用python,感興趣的朋友可以了解下
    2021-03-03
  • Python PyQt5實(shí)戰(zhàn)項(xiàng)目之查詢器的實(shí)現(xiàn)流程詳解

    Python PyQt5實(shí)戰(zhàn)項(xiàng)目之查詢器的實(shí)現(xiàn)流程詳解

    PyQt5以一套Python模塊的形式來實(shí)現(xiàn)功能。它包含了超過620個(gè)類,600個(gè)方法和函數(shù)。它是一個(gè)多平臺(tái)的工具套件,它可以運(yùn)行在所有的主流操作系統(tǒng)中,包含Unix,Windows和Mac OS。PyQt5采用雙重許可模式。開發(fā)者可以在GPL和社區(qū)授權(quán)之間選擇
    2021-11-11
  • Python繪制驚艷的?;鶊D的示例詳解

    Python繪制驚艷的?;鶊D的示例詳解

    很多時(shí)候,我們需要一種必須可視化數(shù)據(jù)如何在實(shí)體之間流動(dòng)的情況。這個(gè)時(shí)候就需要?;鶊D,它通常描繪 從一個(gè)實(shí)體(或節(jié)點(diǎn))到另一個(gè)實(shí)體(或節(jié)點(diǎn))的數(shù)據(jù)流。本文將利用Python繪制驚艷的?;鶊D,需要的可以參考一下
    2022-02-02
  • python判斷計(jì)算機(jī)是否有網(wǎng)絡(luò)連接的實(shí)例

    python判斷計(jì)算機(jī)是否有網(wǎng)絡(luò)連接的實(shí)例

    今天小編就為大家分享一篇python判斷計(jì)算機(jī)是否有網(wǎng)絡(luò)連接的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評(píng)論

平遥县| 浏阳市| 镇原县| 龙口市| 陆丰市| 偏关县| 汉沽区| 天台县| 平顺县| 霍城县| 安阳县| 伊宁市| 合川市| 阿拉尔市| 平阴县| 翁牛特旗| 邢台县| 大安市| 长乐市| 原平市| 贵定县| 伊通| 涞水县| 营口市| 清流县| 敖汉旗| 蛟河市| 多伦县| 屯门区| 平利县| 普定县| 岑溪市| 曲沃县| 前郭尔| 大英县| 湄潭县| 铁岭县| 永德县| 临海市| 布尔津县| 土默特左旗|