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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python---文件处理

發(fā)布時間:2023/12/1 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python---文件处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

0x01 打開一個文件

python中內(nèi)置了文件對象,通過open()函數(shù)就可以制定模式打開指定文件,并創(chuàng)建文件對象。該函數(shù)的格式如下:

open(file[,mode='r'[,buffering=-1]])
  • file:指定要打開或創(chuàng)建的文件名稱,如果該文件不存在當(dāng)前目錄,則需要指明路徑
  • mode:指定打開文件后的處理模式
  • buffering:指定讀寫文件的緩沖模式,數(shù)值為0表示不緩存,數(shù)值為1表示使用行緩存模式,數(shù)值大于1表示緩沖區(qū)的大小,默認值為-1。二進制文件和非交互文本文件以固定大小的塊緩沖單位,等價于IO

0x02 對文件內(nèi)容進行操作

向文本文件寫入內(nèi)容

如果需要向文本文件中寫入內(nèi)容,在打開文件時就需要指定文件的打開模式為寫模式。應(yīng)根據(jù)不同的開發(fā)需要選取不同的寫入模式

  • w:寫入模式,文件可以不存在,如果不存在,則創(chuàng)建文件

我們的程序目錄內(nèi)容為:

#! /usr/bin/python #coding:utf-8 s = 'hello python! \n' f=open('demo.txt','w') f.write(s) f.close()

運行結(jié)果,多了一個demo.txt,文件內(nèi)的內(nèi)容就是我們寫入的

  • x:寫入模式,文件必須要存在,不存在拋出異常
    此是沒有demo.txt文件,打開模式為x
#! /usr/bin/python #coding:utf-8 s = 'hello python! \n' f=open('demo.txt','x') f.write(s) f.close()

運行結(jié)果如下圖,我們可以看到爆出一個文件不存在的錯誤

  • a:追加模式,不覆蓋文件的原始內(nèi)容
    w模式每次寫入都會將文件的原始內(nèi)容刪除,然后在寫,a模式不會刪除
#! /usr/bin/python #coding:utf-8 s = 'hello python! \n' f=open('demo.txt','a') f.write(s) f.write(s) f.close()

運行結(jié)果,我們可以看到demo.txt的內(nèi)容,這里demo.txt存不存在無所謂

讀取文件中的內(nèi)容
  • r:讀模式(默認模式,可以審略),如果文件不存在,則拋出異常
  • +:讀寫模式
    讀取文件第一行內(nèi)容:
#! /usr/bin/python #coding:utf-8f=open('demo.txt','r') print(f.readline()) f.close()

運行結(jié)果

讀取文件所有內(nèi)容:

#! /usr/bin/python #coding:utf-8f=open('demo.txt','r') print(f.read()) f.close()

運行結(jié)果

0x03 關(guān)閉文件對象

當(dāng)操作完文件內(nèi)容以后,一定要關(guān)閉文件對象,這樣才能確保所做的修改都保存到文件中。關(guān)閉文件對象的語句是:

f.close()

文件操作一般遵循打開—讀寫—關(guān)閉的基本流程,但是如果文件讀寫操作代碼發(fā)生了異常,就很難保證被正常關(guān)閉。可以使用上下文管理關(guān)鍵字with來避免產(chǎn)生這個問題。對于with的具體原理,這里參考這邊文章:https://www.cnblogs.com/wongbingming/p/13791972.html
關(guān)鍵字with能夠管理資源,總能保證文件正確關(guān)閉,并且可以在代碼執(zhí)行結(jié)束后自動還原開始執(zhí)行代碼塊時的現(xiàn)場,

#! /usr/bin/python #coding:utf-8with open('demo.txt','a') as f:f.write('233333333 \n')

運行結(jié)果,關(guān)閉文件都不用我們關(guān)閉

總結(jié)

以上是生活随笔為你收集整理的python---文件处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。