python文件管理
生活随笔
收集整理的這篇文章主要介紹了
python文件管理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文件沒有修改操作,修改的方式為打開文件--讀取文件--內存中編輯文件--將內容寫入文件
打開文件方式
with open('a.txt','w') as f: #操作系統自動關閉文件f.write('xxx\n')f = open('a.txt','w',encoding='gbk') f.write('xxx') f.close()文件打開模式
- r 只讀模式。如果文件不存在,返回異常FileNotFoundError,默認值;
- w 覆蓋寫模式,文件不存在則創建,存在則完全覆蓋;
- x 創建寫模式,文件不存在則創建,存在則返回異常FileExistError;
- a 追加寫模式,文件不存在則創建,存在則在文件最后追加內容;
- t 文本文件模式,默認值;
- b 二進制文件模式;
- ‘+' 與r/w/x/a一同使用,在原功能的基礎上增加同事讀寫的功能
文件打開時+表示同時讀寫某個文件
- r+ 讀寫
- w+ 寫讀
- x+ 寫讀
- a+ 寫讀
b表示以字節的方式操作(對linux無影響,如果需要跨平臺性能好文件打開關閉建議采用rb的方式)
- rb或r+b
- wb或w+b
- xb或x+b
- ab或a+b
f.readlines() 一次讀取文件,讀取后的文件為列表
二進制文件讀取,不能指定編碼,只能讀取文件之后使用decode方式進行解碼
f = open(‘a.txt’,'rb') data = f.read().decode('utf-8') print(data) f.close二進制文件寫入,不能指定編碼,只能將內容先轉換成bytes類型
#方法一 f = open(‘a.txt’,'wb') f.write(bytes('11111\r\n',encoding='utf-8')) f.close() #方法二 a = open(‘a.txt’,'wb') a.write('楊戩'.encode('utf-8')) a.close()文件內容從內存寫入到磁盤
一般需要f.close()的時候才能夠寫入文件,如果不關閉文件,需要使用下面命令寫入到文件中
f.flush()文件光標位置
print(f.tell()) #讀取當前光標位置 f.seek() #修改光標位置,按照**字節**計算 f.read(4) #讀取4個**字符**seek三種模式
seek(光標移動多少位,模式)
- 0 默認模式,從文件開頭
- 1 以光標當前位置進行seek,相對seek
- 2 從文件末尾進行seek 如seek(-10,2)
使用seek案例
讀取文件最后一行
f = open(日志文件,'r') for i in f:offs=100 #定義偏移量,一行大概10個字節 while True:f.seek(offs,2)data = f.readlines()if len(data) > 1:print(‘文件的最后一行是%s’, %(data[-1].decode('utf-8')))breakoffs*=2循環文件方式,要一行就讀取一行,減小內存占用
for i in f:print(i)跨平臺的換行符讀取
f.open("a.txt","r",newline="") #讀取真正的換行符轉載于:https://www.cnblogs.com/chrrydot/p/9788473.html
總結
以上是生活随笔為你收集整理的python文件管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Socket 客户端的断开重连
- 下一篇: Centos 安装新python