python檔案讀寫操作 內建open 函式

2021-10-05 12:19:57 字數 3332 閱讀 4694

python中的open() 方法是用於開啟乙個檔案,如果該檔案損壞或者無法開啟,會丟擲 oserror

完整語法格式:

open(file, mode=『r』, buffering=none, encoding=none, errors=none, newline=none, closefd=true)

open()函式常用形式是接收兩個引數:檔名(file)和模式(mode)
引數說明:

file: 表示將要開啟的檔案的路徑(絕對路徑或者當前工作目錄的相對路徑)

mode: 是乙個可選字串,預設值是「mode=r」,意味著當什麼值都不傳時,文字模式為開啟並讀取。

'r' 讀取(預設)

'w' 寫入,並覆蓋檔案源資料

'x' 建立,如果檔案已存在則失敗

'a' 寫入,如果檔案存在則在末尾追加,追加成功後,會列印出追加了幾個字元

'b' 二進位制模式

't' 文字模式(預設)

'+' 開啟用於更新(讀取與寫入)

buffering: 是乙個可選的整數,用於設定緩衝策略

encoding: 是用於解碼或者編碼檔案的編碼名稱,這只在文字模式下使用

errors: 是乙個可選的字串引數,用於指定如何處理編碼和編碼錯誤。這個不能在二進位制模式下使用

newline: 區分換行符(它僅適用於文字模式)。它可以是 none,'','\n','\r' 和 '\r\n'。

closefd: 傳入的file引數型別

mode值

描述mode=r

以唯讀方式開啟檔案,檔案指標會放在檔案的開頭位置

mode=r+

開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭––

mode=w

以只寫方式開啟檔案,如果檔案已存在則開啟檔案,從開頭開始寫入,即原有內容會被刪除。如果檔案不存在,建立新檔案

mode=w+

開啟乙個檔案用於讀寫。如果檔案已存在則開啟檔案,從開頭開始編輯,原有內容會被刪除。如果檔案不存在,建立新檔案––

mode=a

追加。如果檔案已存在,檔案指標會放在檔案的結尾。新內容將會被寫入到已有內容之後。如果檔案不存在,建立新檔案寫入

mode=a+

用於讀寫。如果檔案已存在,檔案指標會放在檔案的結尾。檔案開啟時是追加模式。如果檔案不存在,建立新檔案用於讀寫––

mode=rb

mode=rb+––

mode=wb

mode=wb+––

mode=ab

二進位制格式開啟乙個檔案用於追加。如果檔案已存在,檔案指標會放在檔案的結尾。新的內容會被寫入到已有內容之後。如果檔案不存在,建立新檔案進行寫入

mode=ab+

二進位制格式開啟乙個檔案用於追加。如果檔案已存在,檔案指標會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫

讀寫檔案,有兩種方式寫入,乙個是開啟寫入再關閉,乙個就是上下文管理器的操作使用

一、檔案開啟寫入關閉操作

# 首選是開啟檔案,並解碼操作(解碼是為了防止讀取出來的資料是亂碼)

open_file =

open

('testing.text'

, encoding=

'utf-8'

)# 進行讀取檔案中的資料,並對其使用變數進行接收

read_file = open_file.read(

)print

(read_file)

# 接收完成後,進行關閉操作

# 如果不執行關閉,不保證資料全部讀取或者全部寫入

open_file.close(

)

二、上下文管理器

# 上面說了每次都要執行關閉,不關閉可能會出現讀寫資料不全的問題,上下文管理器的好處就是資料讀寫完成後,

# 就會自動執行關閉操作,這樣就不會忘記關閉了,也不會擔心資料讀寫不全了,相對來說這樣書寫**會更美觀

with

open

('testing.text'

, encoding=

'utf-8'

)as _read:

read_data = _read.read(

)print

(read_data)

三、檔案的讀寫方法

# read讀取全部

with

open

('testing.text'

, encoding=

'utf-8'

)as _read:

read_data = _read.readline(

)print

(read_data)

# readline讀取行(一行一行的讀取)

with

open

('testing.text'

, encoding=

'utf-8'

)as _read:

read_data = _read.readline(

)print

(read_data)

# readlines讀取後返回的是列表型別

with

open

('testing.text'

, encoding=

'utf-8'

)as _read:

read_data = _read.readlines(

)print

(read_data)

# write寫入指定資料

with

open

('testdata.text'

, mode=

'w', encoding=

'utf-8'

)as _write:

read_data = _write.write(

'hahaha'

)# writelines是寫入乙個字串的序列值

with

open

('testdata.text'

, mode=

'w', encoding=

'utf-8'

)as _write:

read_data = _write.writelines(

'55'

)

以上總結如有不當之處,還請多多賜教,始終相信你的努力,終會在某一天得到回報!!!

python 讀 寫檔案操作

python中也提供類似於c語言中的open read write函式,下面是我根據看過的內容的乙個python讀 寫檔案的 段 讀檔案 在python的執行資料夾中新建乙個 123.txt 的檔案,輸入2341.rfp open 123.txt 開啟乙個 123.txt 得到乙個檔案物件 分配記憶...

python檔案讀寫操作

讀寫檔案是最常見的io操作,python內建了讀寫檔案的函式,用法和c是相容的。在磁碟上讀寫檔案的功能都是由作業系統提供的,現在作業系統不允許普通的程式直接操作磁碟 所以,讀寫檔案就是請求作業系統開啟乙個檔案物件 通常稱為檔案描述符 然後,通過作業系統提供的介面從這個檔案物件中讀取資料 讀檔案 或者...

Python 檔案讀寫操作

一 python中對檔案 資料夾操作時經常用到的os模組和shutil模組常用方法。1.得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 2.返回指定目錄下的所有檔案和目錄名 os.listdir 3.函式用來刪除乙個檔案 os.remove 4.刪除多個目錄 os.re...