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

歡迎訪問 生活随笔!

生活随笔

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

python

【Python】学习笔记总结3(Python文件操作)

發(fā)布時間:2024/9/30 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】学习笔记总结3(Python文件操作) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 三、Python文件操作
    • 1.打開`open('文件名','打開模式')`
    • 2.寫操作
    • 3.讀操作
    • 4.With上下文管理對象
    • 小結(jié)
    • 案例
    • 5.文件定位

三、Python文件操作

1.打開open('文件名','打開模式')

fileA = open('./Test.txt','w',encoding='utf-8')
  • 打開模式
打開模式模式說明
r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認(rèn)模式。
w打開一個文件只用于寫入。 如果該文件已存在則將其覆蓋。如果該文件不存在, 創(chuàng)建新文件。
a打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
rb以二進(jìn)制格式打開-一個文件用于只讀。文件指針將會放在文件的開頭。這是默認(rèn)模式。
wb以二進(jìn)制格式打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
ab以二進(jìn)制格式打開-一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
r+打開一個文件用于讀寫。文件指針將會放在文件的開頭。
w+打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
a+打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結(jié)尾。文件打開時會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。
rb+以二進(jìn)制格式打開-一個文件用于讀寫。文件指針將會放在文件的開頭。
wb+以二進(jìn)制格式打開-一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
ab+以二進(jìn)制格式打開-一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。

2.寫操作

  • 字符串形式,默認(rèn)gbk編碼
fileA = open('./Test.txt','w',encoding='utf-8') fileA.write('寫入的內(nèi)容') fileA.close()
  • 二進(jìn)制形式寫入
fileA = open('./Test2.txt','wb') fileA.write('寫入的內(nèi)容'.encode('utf-8')) fileA.close()
  • 追加寫入a
fileA = open('./Test.txt','a') fileA.write('寫入的內(nèi)容') fileA.close()
  • 追加寫入ab
fileA = open('./Test.txt','ab') fileA.write('寫入的內(nèi)容'.encode('utf-8')) fileA.close()

3.讀操作

  • 讀取所有
fileA = open('./Test.txt','r',encoding='utf-8') print(fileA.read()) fileA.close()
  • 讀取幾個
fileA = open('./Test.txt','r',encoding='utf-8') print(fileA.read(4)) fileA.close()
  • 讀一行
fileA = open('./Test.txt','r',encoding='utf-8') print(fileA.readline()) fileA.close()
  • 讀所有行
fileA = open('./Test.txt','r',encoding='utf-8') print(fileA.readlines()) fileA.close()
  • 讀取二進(jìn)制
fileA = open('./Test.txt','rb') data = fileA.read() print(data) print(data.decode('utf-8')) fileA.close()

4.With上下文管理對象

自動釋放打開關(guān)聯(lián)對象

with open('./Test.txt','rb') as fileA :data = fileA.read()print(data)print(data.decode('utf-8'))#自動釋放

小結(jié)

文件讀寫的幾種操作方式
read r r+ rb rb+
r r+ 只讀使用普通讀取場景
rb rb+ 適用于文件圖片視頻音頻這樣文件讀取
write WW+ wb+
w ba ab w wb+ W+每次都會去創(chuàng)建文件
二進(jìn)制讀寫的時候要注意編碼問題,默認(rèn)情況下我們寫入文件的編碼是gbk
a ab a+ 在原有的文件的基礎(chǔ)之后去[文件指針的末尾]去追加,并不會每次的都去創(chuàng)建一個新的文件

案例

old_file = input('請輸入 要備份的文件名:') file_list=old_file.split('.') #構(gòu)造新的文件名.加上備份的后綴 new_file=file_list[0]+'_ 備份. '+file_list[1] try:#監(jiān)視啊喲處理的邏輯with open(old_file,'r') as old_f,open(new_file,'w')as new_f:while True:content=old_f.read(1024) #-次讀取1024字符new_f.write( content)if len( content)<1024:break except Exception as msg:print (msg ) pass

5.文件定位

  • tell() 返回指針當(dāng)前所在的位置
with open('./Test.txt','r',encoding='utf-8') as fileA :fileA.read(1)print(fileA.tell())fileA.read(2)print(fileA.tell())
  • truncate() 對源文件進(jìn)行截取操作
with open('./Test.txt','r+') as fileA :fileA.truncate(2)print(fileA.read())
  • seek() 更改光標(biāo)指針位置
    只有二進(jìn)制模式打開文件才能更改光標(biāo)指針位置
fileA.seek(-2,0)#0初始位置開始 fileA.seek(-2,1)#1當(dāng)前位置開始 fileA.seek(-2,2)#2末尾位置開始 with open('./test.txt','rb') as fileA :data=fileA.read(2)print(data.decode('gbk'))fileA.seek(-2,1)#當(dāng)前位置向前移動2格ok = fileA.read(2)print(ok.decode('gbk')) 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的【Python】学习笔记总结3(Python文件操作)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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