Python 文件的详细操作
生活随笔
收集整理的這篇文章主要介紹了
Python 文件的详细操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.文件打開常用的三總方式
1.文件打開r模式
只讀不能寫
with open('a.txet','r',encoding='gbk') as a:# 文件路徑 文件打開方式 解碼方式 變量名print(a.read())#一次性讀取 ,里面可以填寫數字,填了后是讀取光標后幾個字符print(a.read())#連續第二次讀取會讀取空,因為他是一次性讀取了就沒了 with open('a.txet','r',encoding='gbk') as a:# 文件路徑 文件打開方式 解碼方式 變量名print(a.readline())#一次性讀取一行 且會讀取到光標移至第二行開頭所有這里會讀取下來一個\nprint(a.read())#剩下的內容 with open('a.txet','r',encoding='gbk') as a:# 文件路徑 文件打開方式 解碼方式 變量名b = a.readlines()#一次性讀取所有,且每行為一個列表的子集print(b) 為了去除b讀取下來的\n,我們可以用strip() for c in range(len(b)) :b[c] = b[c].strip()2.文件打開w模式
只寫不能讀,且寫是先把文件內容清空在寫,具有情況作用不是下面的write是在open內的’w’
3.文件打開a模式(只寫不能讀)
只寫不能讀,且寫是在打文本末尾進行添加
二.文件讀寫的兩種方式
1.文件讀取t
讀取內容為字符串格式
2.文件讀取b
讀取內容為二進制格式
3.注意事項
t與b不能單獨使用必須和w,a,r聯用,如’wt’,'rt’等等
三.打開兩個文件的寫法
#同時打開兩個文件 with open('文件1', 'r') as fr, \open('文件2', 'r') as fw:#這是豎著的寫法,第二排沒有縮進沒有影響但是為了美觀還是縮進對齊會好點 #同時打開兩個文件 with open('文件1', 'r') as fr, open('文件2', 'r') as fw: #這是橫著的寫法四.可讀,可寫
-
r+t(也可寫成r+): 可讀、可寫,(指針不做處理默認在開頭,光標后開始)
-
w+t(也可寫成w+): 可寫、可讀(先清空后寫)
-
a+t(也可寫成a+): 可追加、可讀(指針不做處理默認在結尾,光標后開始寫)
可讀,可寫,二進制
-
r+b: 可讀、可寫,(指針不做處理默認在開頭,光標后開始)
-
w+b: 可寫、可讀(先清空后寫)
-
a+b: 可追加、可讀(指針不做處理默認在結尾,光標后開始寫)
五.指針
1.seek()
指針移動后的位置,這個位置是字節不是字符
2.tell()
指針到開頭之間的距離
3.truncate()
truncate(n)清除n個字節后的內容
六.修改文件的兩種方式
1.第一種
一次性讀取所有進行修改,把讀取的內容定義成一個變量,修改變量后的值再填寫進去
如
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' import oswith open('37r.txt') as fr, \open('37r_swap.txt', 'w') as fw:data = fr.read() # 全部讀入內存,如果文件很大,會很卡data = data.replace('tank', 'tankSB') # 在內存中完成修改fw.write(data) # 新文件一次性寫入原文件內容# 刪除原文件 os.remove('37r.txt') # 重命名新文件名為原文件名 os.rename('37r_swap.txt', '37r.txt') print('done...')2.第二種
逐行讀取,然后進行修改
import oswith open('37r.txt') as fr,\open('37r_swap.txt', 'w') as fw:# 循環讀取文件內容,逐行修改for line in fr:line = line.replace('jason', 'jasonSB')# 新文件寫入原文件修改后內容fw.write(line)os.remove('37r.txt') os.rename('37r_swap.txt', '37r.txt') print('done...')總結
以上是生活随笔為你收集整理的Python 文件的详细操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python函数的装饰器,两层装饰器和三
- 下一篇: python基础教程:排列与组合