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

如何在Python中對文件進(jìn)行操作

 更新時(shí)間:2022年08月05日 15:07:19   作者:Python熱愛者  
這篇文章主要介紹了如何在Python中對文件進(jìn)行操作,文章圍繞主題展開內(nèi)容,即使用Python中內(nèi)置的open()函數(shù)來打開文件,返回文件對象,并對文件進(jìn)行處理

前言

在Python中,我們可以通過一些內(nèi)置函數(shù)來操作電腦上的文件,并對文件進(jìn)行讀寫,這種讀寫操作是很常見的 I/O 操作,我們今天就來簡單學(xué)習(xí)下。

1.open()函數(shù)

我們可以使用Python中內(nèi)置的 open() 函數(shù)來打開文件,返回文件對象,并對文件進(jìn)行處理。

open() 函數(shù)的常見格式如下:

open(file, mode='r')

第一個(gè)參數(shù)表示要打開文件的路徑,第二個(gè)參數(shù)表示文件打開的模式,如 r 表示讀,w 表示寫。

文件讀寫的常見模式如下:

默認(rèn)都是以文本模式打開文件,如果要以二進(jìn)制模式打開,那么就給對應(yīng)模式加上 b 即可,如 rb、wb、ab、rb+、wb+、ab+ 等。

當(dāng)然,該函數(shù)還有其他可選參數(shù),如 encoding 、errors 等,這里就不詳說了。

2.讀文件

讀文件的操作步驟為:打開文件、讀數(shù)據(jù)、關(guān)閉文件。我們手動(dòng)創(chuàng)建一個(gè)文本文件,隨便寫入幾行內(nèi)容,

然后通過代碼讀文件:

f = open("D:\\test1.txt", "r")  # 以 r 模式打開文件
data = f.read()  # 讀文件
f.close()  # 關(guān)閉文件

在上面代碼中,調(diào)用 read() 方法可以一次讀取文件的全部內(nèi)容,并存放到一個(gè)字符串中,也就是說其返回的是一個(gè) str 類型對象。讀文件數(shù)據(jù)時(shí),常見的函數(shù)有3個(gè):read()、readline() 和 readlines(),

區(qū)別如下:

在文件使用完畢后,因?yàn)槲募ο髸?huì)占用到操作系統(tǒng)的資源,所以最后必須調(diào)用 close() 來關(guān)閉文件。

3.寫文件

寫文件的操作步驟為:打開文件、寫數(shù)據(jù)、關(guān)閉文件。在寫文件時(shí),分為覆蓋寫入和追加寫入。覆蓋寫入使用模式為 w,相當(dāng)于把文件內(nèi)容刪除后重新寫入內(nèi)容。

f = open("D:\\test2.txt", "w")
f.write("hello world 1\n")
f.write("hello world 2\n")
f.close()

以上代碼執(zhí)行后,文件中的內(nèi)容為3行(包括最后換行):

hello world 1
hello world 2

追加寫入使用模式為 a,它不會(huì)刪除文件內(nèi)容,而是直接在原文件最后追加內(nèi)容。

f = open("D:\\test2.txt", "w")
f.write("hello world 3\n")
f.write("hello world 4\n")
f.close()

f = open("D:\\test2.txt", "a")
f.write("hello world 5\n")
f.write("hello world 6\n")
f.close()

以上代碼執(zhí)行后,文件中的內(nèi)容為5行(包括最后換行):

hello world 3
hello world 4
hello world 5
hello world 6

在寫文件中使用完畢后,也必須調(diào)用 close() 來關(guān)閉文件。如果我們對一個(gè)文件先執(zhí)行寫操作,但忘了關(guān)閉文件,最后再對該文件執(zhí)行讀操作,這樣最后讀取到的結(jié)果是什么呢?

f1 = open("D:\\test3.txt", "w")
f1.write("hello world 1\n")
f1.write("hello world 2\n")
# f1.close()

f2 = open("D:\\test3.txt", "r")
data = f2.read()
f2.close()

print(data)

執(zhí)行上面代碼后,可以發(fā)現(xiàn)控制臺(tái)不會(huì)打印任何內(nèi)容出來,這也就說明了最后讀取不到該文件的內(nèi)容。

4.通過 with 來讀寫文件

在文件讀寫操作時(shí),有時(shí)候我們可能會(huì)忘了 close() 操作,或者在 close() 之前出現(xiàn)報(bào)錯(cuò)(報(bào)錯(cuò)之后的代碼就不會(huì)執(zhí)行了)。所以我們需要對代碼進(jìn)行優(yōu)化,保證無論是否出現(xiàn)報(bào)錯(cuò),最后都要執(zhí)行 close() 操作,我們可以通過 try … finally 來實(shí)現(xiàn):

try:
    f = open("D:\\test3.txt", "w")
    f.read()  # w模式下沒有read(),會(huì)導(dǎo)致報(bào)錯(cuò)
finally:
    print(f.closed)  # 檢查文件是否關(guān)閉,返回 False
    f.close()
    print(f.closed)  # 檢查文件是否關(guān)閉,返回 True

雖然 try … finally 使用起來沒什么問題,但每次操作文件都這樣寫就顯得特別麻煩,所以,我們還可以使用 with語句 來讀寫文件。

with open("D:\\test3.txt", "w") as f1:
    f1.write("hello world 1\n")
    f1.write("hello world 2\n")

with open("D:\\test3.txt", "r") as f2:
    data = f2.read()
    print(data)

使用 with語句 的好處在于,with內(nèi)的語句執(zhí)行完畢后,無論是否發(fā)生異常,都會(huì)自動(dòng)關(guān)閉打開的文件,這樣就不需要手動(dòng)去執(zhí)行 close() 操作,從而使代碼看起來更加簡潔。

到此這篇關(guān)于如何在Python中對文件進(jìn)行操作的文章就介紹到這了,更多相關(guān)Python文件操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python爬蟲實(shí)現(xiàn)獲取下一頁代碼

    python爬蟲實(shí)現(xiàn)獲取下一頁代碼

    在本篇文章里小編給大家整理了關(guān)于python爬蟲實(shí)現(xiàn)獲取下一頁代碼內(nèi)容,需要的朋友們可以參考學(xué)習(xí)下。
    2020-03-03
  • python?Pydub簡單易用的音頻處理庫使用實(shí)例探索

    python?Pydub簡單易用的音頻處理庫使用實(shí)例探索

    Pydub是一個(gè)簡單易用的Python庫,它讓音頻處理變得像處理列表或字符串一樣簡單,你可以用Pydub來剪輯、合并、調(diào)整音頻文件,以及執(zhí)行許多其他的音頻處理任務(wù),它支持多種音頻格式,包括常見的MP3、WAV和AAC
    2024-01-01
  • matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡便創(chuàng)建方法

    matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡便創(chuàng)建方法

    這篇文章主要介紹了matplotlib bar()實(shí)現(xiàn)多組數(shù)據(jù)并列柱狀圖通用簡便創(chuàng)建方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 使用Python pyglet庫編寫一個(gè)可播放音樂的揚(yáng)聲器類流程詳解

    使用Python pyglet庫編寫一個(gè)可播放音樂的揚(yáng)聲器類流程詳解

    這篇文章主要介紹了使用Python pyglet庫編寫一個(gè)可播放音樂的揚(yáng)聲器類,Pyglet主要用于創(chuàng)建視頻游戲、獨(dú)立游戲和多媒體應(yīng)用,它提供了一組用于制作游戲的常用功能,包括圖形渲染、聲音播放、事件處理等等,需要的朋友可以參考下
    2024-03-03
  • python opencv旋轉(zhuǎn)圖片的使用方法

    python opencv旋轉(zhuǎn)圖片的使用方法

    在圖像處理中,有的時(shí)候會(huì)有對圖片進(jìn)行角度旋轉(zhuǎn)的處理,尤其是在計(jì)算機(jī)視覺中對于圖像擴(kuò)充,旋轉(zhuǎn)角度擴(kuò)充圖片是一種常見的處理。本文就詳細(xì)的介紹一下,感興趣的可以了解一下
    2021-06-06
  • python分?jǐn)?shù)表示方式和寫法

    python分?jǐn)?shù)表示方式和寫法

    在本篇文章里小編給大家整理的是關(guān)于python分?jǐn)?shù)怎么表示的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們學(xué)習(xí)下吧。
    2019-06-06
  • python元組拆包實(shí)現(xiàn)方法

    python元組拆包實(shí)現(xiàn)方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python元組拆包實(shí)現(xiàn)方法及相關(guān)實(shí)例,有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • python中的split()函數(shù)和os.path.split()函數(shù)使用詳解

    python中的split()函數(shù)和os.path.split()函數(shù)使用詳解

    今天小編就為大家分享一篇python中的split()函數(shù)和os.path.split()函數(shù)使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python常用數(shù)據(jù)結(jié)構(gòu)字典梳理

    python常用數(shù)據(jù)結(jié)構(gòu)字典梳理

    這篇文章主要介紹了python常用數(shù)據(jù)結(jié)構(gòu)字典梳理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 如何解決jupyter notebook無法導(dǎo)入自己安裝的包

    如何解決jupyter notebook無法導(dǎo)入自己安裝的包

    這篇文章主要介紹了如何解決jupyter notebook無法導(dǎo)入自己安裝的包問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論

西峡县| 平和县| 即墨市| 泸水县| 读书| 朝阳市| 扶余县| 侯马市| 阿拉善左旗| 会理县| 和田县| 思茅市| 大渡口区| 平南县| 正安县| 荣成市| 原阳县| 新宁县| 石首市| 东光县| 犍为县| 晋江市| 兴海县| 唐河县| 泾源县| 凤城市| 沙坪坝区| 石棉县| 综艺| 新化县| 太保市| 小金县| 沁水县| 垦利县| 武穴市| 临夏市| 鄄城县| 河北省| 梨树县| 慈溪市| 尉氏县|