讀寫檔案前,我們先必須了解一下,在磁碟上讀寫檔案的功能都是由作業系統提供的,現代作業系統不允許普通的程式直接操作磁碟,所以,讀寫檔案就是請求作業系統開啟乙個檔案物件(通常稱為檔案描述符),然後,通過作業系統提供的介面從這個檔案物件中讀取資料(讀檔案),或者把資料寫入這個檔案物件(寫檔案)。
引數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"
(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表示清空到什麼位置
deffunc(args...):
dosomething
defadd(x, y):
return x +y
add(2,3)
#結果是5
引數可以設定預設值,如:
def add( a, b=10 ): #注意:預設值引數只會運算一次
return a+b
def func(*args): #這種定義傳遞的引數是乙個元組
(args,type(args))
func(10,20)
#結果:
#(10, 20)
def func(**kw):#使用**定義引數傳遞的是乙個字典
(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 和...