python操作檔案

2022-08-20 03:03:12 字數 3421 閱讀 5500

讀寫檔案前,我們先必須了解一下,在磁碟上讀寫檔案的功能都是由作業系統提供的,現代作業系統不允許普通的程式直接操作磁碟,所以,讀寫檔案就是請求作業系統開啟乙個檔案物件(通常稱為檔案描述符),然後,通過作業系統提供的介面從這個檔案物件中讀取資料(讀檔案),或者把資料寫入這個檔案物件(寫檔案)。

引數1:檔名,可以是檔案的絕對路徑

引數2:option r 讀 w 寫 b 二進位制 a 追加

要讀取乙個檔案的內容,使用python內建的open()函式,傳入檔名和標示符,在讀檔案的時候,檔案一定是要存在的,否則會報ioerror。

f = open("

1.txt

","r

") #

識別符號"r"表示讀

f.read() #

read()方法可以一次讀取檔案的全部內容到記憶體中

f.close() #

檔案使用完畢必須關閉

為了避免在讀檔案的時候產生ioerror,我們使用try......

finally

try:

f = open("

1.txt

", "r"

)print

(f.read())

finally:if

f:f.close()

但是每次都要開啟檔案、讀取檔案、關閉檔案,操作很麻煩,我們可以使用with語句,它會自動幫我們關閉檔案。

with open("

1.txt

","r

") as f:

print(f.read()) #

read(size) 每次最多讀取size個內容

print(f.readline()) #

readline() 每次讀取一行內容

print(f.readlines()) #

readlines() 一次讀取所有內容,並返回乙個list,其中每個元素就是一行內容

#b'\xff\xd8\xff\xe1\x00\x18exif\x00\x00...' # 返回乙個十六進製制的字串

讀取非utf-8編碼的文字檔案,我們需要給open()函式傳入乙個encoding引數。如果文字中有一些非法編碼的字元,會報unicodecodeerror,可以再傳入乙個errors引數。輸入中文,python3要在後面加上encoding="utf-8" 指定編碼型別。

encoding = "

gbk"

#我們可以全域性宣告一下字元編碼,下面可以直接使用這個變數

f = open("

gbk.txt

","r

",encoding=encoding,errors="

ignore")

f.read()

和讀檔案差不多,只是在open()函式中傳入的是"w"或者"wb"表示寫文字檔案或者寫二進位制檔案。需要寫入什麼編碼格式的內容,也可以通過傳入encoding。一定要記得關閉檔案。

f = open("

1.txt

","w

",encoding="

utf-8")

f.write(

"hello,world")

f.close()

同樣,我們也可以使用with語句來寫檔案。

with open("

1.txt

","w

",encoding="

utf-8

") as f:

f.write(

"hello,world

")

我們可以使用"a"來完成。

f = open("

1.txt

","a

",encoding="

utf-8")

f.write(

"hello,world")

f.close()

同樣也可以改成with語句。

with open("

1.txt

","a

",encoding="

utf-8

") as f:

f.write(

"hello,world

")

fr.read()          把檔案的所有內容都讀取出來,返回字串

fr.write(data) 把字串data寫入到檔案中,只接收字串引數

fr.readline() 每次讀取檔案一行的資料,返回每行資料

fr.readlines() 讀取檔案內容,返回乙個list,每乙個元素是一行字串

fr.name 檔案名字

fr.fileno() 檔案描述符

fr.close() 關閉檔案

fr.encoding() 檔案編碼

fr.closed 返回bool值,檢視檔案是否已經關閉

fr.seek() 控制游標位置,檔案需要使用b方式開啟,偏移量,正數向後偏移,負數向前偏移

引數(offset,whence)offset偏移量(數字) whence 0:開始 1:當前位置 2:最後

fr.tell() 返回檔案游標位置

fr.truncate(size) 只有寫檔案才可以用,清空檔案,size表示清空到什麼位置

def

func(args...):

dosomething

def

add(x, y):

return x +y

add(2,3)

#結果是5

引數可以設定預設值,如:

def add( a, b=10 ): #

注意:預設值引數只會運算一次

return a+b

def func(*args): #

這種定義傳遞的引數是乙個元組

print

(args,type(args))

func(10,20)

#結果:

#(10, 20)

def func(**kw):#

使用**定義引數傳遞的是乙個字典

print

(kw, type(kw) )

func(a=10,b=20)#

這種函式在使用時必須指定引數值,使用key=value這種形式

#結果:

Python 操作檔案

字元 含義 r 以唯讀方式開啟 預設 w 以只寫方式開啟,刪除原有檔案內容 如果檔案不存在,則建立該檔案並以只寫方式開啟 x 建立乙個新檔案,並以寫模式開啟這個檔案,如果檔案存在則會產生 fileexistserror 錯誤 a 以只寫檔案開啟乙個檔案,如果有原檔案則追加到檔案末尾 b 用二進位制模...

Python 操作檔案

今天,我們來學習python開啟,修改檔案的方法。先在專案資料夾下新建兩個檔案 text1.txt和text2.txt,在text2中寫入 i like python.換行 it is fun.換行 下面我們用這兩個檔案探索操作檔案的方法。如何在python中開啟乙個檔案物件呢?with open ...

Python操作檔案

python 的 open 方法用於開啟乙個檔案,該方法返回乙個檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。注意 使用 open 方法後一定要保證關閉檔案物件,即呼叫 close 方法。open 函式常用形式是接收兩個引數 檔案路徑 file 和...