一。python語言讀寫檔案的函式
open(file, mode='r', buffering=-1, encoding=none, errors=none, newline=none, closefd=true, opener=none)
mode的幾個引數:
r 只能讀ps:w+ a+ 必須在寫入資料後,使用seek(0)將游標移動到開頭,否則無法讀取全部資料r+ 可讀可寫 從頂部開始寫,覆蓋之前位置的內容 不建立不存在檔案
rb 讀取二進位制檔案 不建立不存在檔案
w 寫 不建立不存在檔案 檔案存在則,覆蓋之前檔案
w+ 可讀可寫 建立不存在檔案 檔案存在則,覆蓋之前檔案
wb 寫入二進位制檔案 建立不存在檔案 檔案存在則,覆蓋之前檔案
a 從底部開始新增內容 建立不存在檔案
a+ 可讀可寫 從檔案頂部讀取,從檔案底部寫入 建立不存在檔案
下面來具體的**感受下:
f=open('text2.txt',mode='w+',encoding='utf-8')
f.write('建立了text2檔案') #檔案不存在,建立
f.seek(0) #定位游標到檔案開頭
print(f.read()) #讀取全部內容
f.close()
f=open('text2.txt',mode='w+',encoding='utf-8')
f.write('更改') #檔案存在,覆蓋檔案
print(f.read())
f.close()
f=open('text.txt',mode='r',encoding='utf-8')
print(f.read()) #讀取檔案
f.close()
f=open('text.txt',mode='r+',encoding='utf-8')
f.write('青島') #檔案存在,覆蓋之前位置的內容
print(f.read()) #讀取檔案
f.close()
f=open('text.txt',mode='a',encoding='utf-8')
f.write('\n謝謝觀賞')#底部新增
f.close()
f=open('text.txt',mode='a+',encoding='utf-8')
f.write('\n2023年兒童節')#底部新增
print(f.read()) #從頂部讀取
f.close()
file的方法:
read(size) 有引數則為讀取size個位元組,無引數則讀取所有內容
readline(size) 讀取一行
tell() 返回當前標記位置,以檔案開頭為原點
seek(offset[,whence])
writelines(seq) 迭代字串序列新增
具體**:
f=open('text.txt',mode='a+',encoding='utf-8')
str=['啥家庭啊\n','開開心心']
f.writelines(str)
f.seek(0)
print(f.readline().rstrip()) #讀取一行
print(f.tell())
f.close()
二。操作檔案
python os
模組提供了非常豐富的方法用來處理檔案和目錄
mkdir() 建立目錄
rmdir() 移除目錄
remove() 移除檔案
rename() 修改檔案或目錄名
listdir()返回當前資料夾所有檔案的名字組成的列表
getcwd() 返回當前所在路徑
話不多說。**如下:
import os
os.mkdir('test') #建立目錄
os.rename('aaa.txt','demo1.txt') #修改檔案或目錄名
os.remove('ccc.txt') #移除檔案
print(os.getcwd()) #返回當前路徑
print(os.listdir()) #返回當前位置所有檔案的名字,組裝為列表
os.rmdir('demo') #刪除目錄
三。python序列化和反序列化
在python中,序列化和反序列化是通過「pickle」庫實現的。
pickle有兩個主要的方法。第乙個是將物件放到檔案中的轉儲。第二種方法是從檔案物件載入物件的載入。
pickle必須在二進位制模式下使用,否則會造成檔案資料的破壞
pickle.dump(data,file) 將資料data序列化到file檔案流中
pickle.load(file) 讀取流物件緩衝區資料,並例項化為新的資料物件返回
**實現:
import pickle
data=
#序列化
with open('ccc.txt','wb') as f: #使用with 可以讓file自動關閉
pickle.dump(data, f) #將字典序列化儲存到ccc.txt中
# 反序列化
with open('ccc.txt','rb') as f:
print(pickle.load(f))
pickle.dump()和pickle.load()迴圈形成了與原始資料結構相同的新資料結構。 python3讀寫檔案
一 系統預設的編碼格式為utf8 二 讀寫檔案時通過引數encoding utf8 指定編碼格式,否則檔案在本地開啟時會亂碼 與系統預設編碼不符,參考第1條 三 例項 設定編碼格式為utf8,本地開啟和程式讀取都展示正常,無亂碼 text 我是xx,我愛python f open a.txt w e...
python3的輸出輸入檔案OS
檔案 資料持久化最簡單的型別,也叫平面檔案 flat file 它僅僅是乙個檔名下的位元組流,把資料從乙個檔案讀入記憶體,然後從記憶體寫入檔案。讀乙個檔案之前需要開啟它,之後可以呼叫函式來讀寫資料,最後需要關閉檔案。fileobj open filename,mode fileobj 是open 返...
Python3基礎 讀寫檔案
檔案是作業系統管理和儲存資料的一種方式。python內建了 open 函式來開啟檔案,並建立乙個檔案物件。一 開啟檔案 open 函式 1 open 函式基本格式 myfile open filename,mode 意思是 myfile 為引用檔案物件的變數 filename 為檔名,可以是檔案的絕...