python 檔案的讀,寫

2021-08-28 05:47:30 字數 2593 閱讀 8228

open(file[,mode][,encoding][,errors])

四個引數(前兩個是必選引數,後兩個是可選引數):

file 檔案的路徑,絕對路徑,相對路徑均可

mode 檔案開啟模式

encoding 編碼, 編碼使用utf-8,或者 gbk,預設編碼是 gbk

errors 錯誤處理, ignore 忽略

read方法r

(read)以唯讀字元的方式開啟檔案, 如果檔案不存在,則會出現異常;反之,則直接開啟,檔案定位符放在起始位置

rb(read byte) 以唯讀二進位制的方式開啟檔案,如果檔案不存在,則會出現異常

r+(read byte) 以讀寫的形式開啟檔案,如果檔案不存在,則會出現異常,

rb +

(read byte) 以讀寫二進位制的方式開啟檔案,如果檔案不存在,則會出現異常

rf = open("文件.txt",mode="r",encoding="utf-8",errors="ignore")
注意:檔案不存在,則報異常:filenotfounderror

with open("文件.txt",mode="r",encoding="utf-8",errors="ignore")  as f:

f.read() # 一次讀取全部內容

f.read(3) #read設定了引數, 引數表示讀取多少個字元,空格算字元,漢字算乙個字元

f.read(5) #如果繼續讀,是接著上次讀取到的地方繼續讀

rf.read(1024*1024) #大檔案讀取,1024k = 1m,1024*1m = 1g,

#seek用來跳到某個位置

# 引數1:offset 偏移量 正數n表示位置相對於參考位置向後移動n個位置, 負數表示向前移動

# 注意:位置的值不能是負數

# 引數2: shence 0表示相對於起始位置 1表示相對於當前位置,2相對於檔案的末尾

f.seek(6,1) #相對於當前位置,向後移動6個位置

f.readline() #讀取一行

f.readlines() #按行全部讀取 ,結果是包含了多行資料的列表

with語法:with可以自動的幫我們釋放資源,關閉連線,即在此處不需要執行close

rf = open("文件.txt",mode="rb")

content = rf.read()

# 字串前加上 b, 表示該資料是二進位制資料

# 將二進位制資料解碼decode

content = content.decode(encoding="utf-8")

# 以二進位制讀取資料時,read中的引數,表示帶去多少個位元組

# 在utf-8中,英文本母 佔據乙個位元組 , 漢字佔據3個位元組, gbk中漢字佔據2個位元組

# content = rf.read(11)

rf.close()

注意:使用二進位制時,不能設定編碼;讀寫完畢之後,都要關閉連線

write方法w

以只寫字元的方式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,並擦除掉原檔案內容,檔案定位符放在檔案的開始位置,再寫時從檔案定位符開始寫

wb以只寫二進位制的形式開啟檔案,如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,並擦除掉原檔案內容,檔案定位符放在檔案的開始位置,再寫時從檔案定位符開始寫

w+以讀寫的形式開啟檔案,如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,並擦除掉原檔案內容,檔案定位符放在檔案的開始位置,再寫時從檔案定位符開始寫

wb+以讀寫二進位制的形式開啟檔案,如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,並擦除掉原檔案內容,檔案定位符放在檔案的開始位置,再寫時從檔案定位符開始寫

with open("文件.txt",mode="w",encoding="utf-8",errors="ignore")  as f:

f.write() #一次寫入

f.writelines() #按行寫入,適用於csv檔案製表

f.flush() # 直接把內部緩衝區的資料立刻寫入檔案,而不是被動的等待自動重新整理緩衝區寫入

方法

a以追加字元的形式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,不會擦除原始檔內容,檔案定位符放在末尾,從末尾開始寫

ab以追加二進位制的形式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,不會擦除原始檔內容,檔案定位符放在末尾,從末尾開始寫

a+以讀寫的形式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,不會擦除原始檔內容,檔案定位符放在末尾,從末尾開始寫

ab+以讀寫二進位制的形式開啟檔案, 如果檔案不存在,則會建立新的檔案,然後可以向新的檔案中新增資料,如果檔案存在,則開啟該檔案,不會擦除原始檔內容,檔案定位符放在末尾,從末尾開始寫

使用方法參考write

python檔案的讀寫

檔案的讀 read size 1 readline size 1 readlines hint 1 這三個函式都會返回換行符 1.read size 1 當size為負數或者預設時讀整個檔案,當為正數的時候,讀指定的位元組數,返回讀的內容字串 2.readline size 1 當size為負數或者...

Python 檔案的讀寫

過程 1 開啟檔案 2 讀檔案內容 3 關閉檔案 1 開啟檔案 open path,flag encoding errors path 要開啟檔案的路徑 flag 開啟方式 r 以唯讀的方式開啟檔案,檔案的描述符放在檔案的開頭 rb 以二進位制格式開啟乙個檔案用於唯讀,檔案的描述符放在檔案的開頭 r...

python檔案的讀寫

使用write 可以完成向檔案寫入資料 demo 新建乙個檔案file write test.py,向其中寫入如下 f open test.txt w f.write hello world,i am here f.close 執行之後會在file write test.py檔案所在的路徑中建立乙個...