首頁 >後端開發 >Python教學 >python-檔案操作

python-檔案操作

巴扎黑
巴扎黑原創
2016-12-06 14:08:211457瀏覽

1、檔案開啟

開啟模式:

f = open('test.txt','r')

#r,唯讀模式,檔案不存在時,報錯

f = open('test. txt','w')

#w,只寫模式,文件不存在時,建立文件,當文件存在時,清空原文件

f = open('test.txt','x')

# x,python3新增的模式,當檔案存在時報錯,檔案不存在時,建立檔案並寫入

f = open('test.txt','a')

#a,追加模式,檔案不存在時,建立檔案

編碼格式:

上述開啟模式,預設的encoding='utf-8',當開啟檔案出現亂碼時,可能是由於編碼格式不一致導致的

此時,可以透過調整編碼格式進行檔案讀取

f=open('test.txt','r',encoding='utf-8')

f=open('test.txt','r',encoding='gbk' )

bytes模式:

當使用b參數時,檔案將透過位元組方式打開,而不適用b參數時,檔案將以字元方式開啟

f=open('test.txt','wb' )
f.write(b'xe7xbbxbfxe8x8cxb6')
f.close()
=>以位元組方式寫入test.txt
n = open('test.txt','r',encoding='utf-8 ')
t = n.read()
print (t)

=> 沒有b參數,以字元方式讀取文件,顯示為綠茶

 

2、文件操作

f=open('test. txt','r',encoding='utf-8')

f.seek()

=>移動目前指標位置到指定的位置,當開啟模式中,沒有b參數時,是按照字元位置移動,以b參數開啟時,是依照位元組位置移動指標

f.tell()

=>取得目前指標的位元組位置,與開啟模式無關

f.flush()

=強刷,一般對文件進行寫入或修改操作時,是先緩存,待文件關閉時再寫入文件,使用該函數時,直接將修改內容寫入文件

f.fileno

=>文件描述符

f.truncate()

=>將目前指標位置之後的內容全部截斷

 

3、檔案關閉

方式一:

f=open('test.txt','r'test. ='utf-8')

n = f.read()

f.close()

方式二:

with open('test.txt','r',encoding='utf-8'with open('test.txt','r',encoding='utf-8'with open('test.txt','r',encoding='utf-8'with open('test.txt','r',encoding='utf-8'with open('test.txt','r',encoding='utf-8' ) as f:

   n =f.read()

使用with時,會自動進行檔案的close操作

並且,使用with可以同時開啟2個檔案:

with open('test1.txt', 'r',encoding='utf-8') as f, open('test2.txt','w',encoding='utf-8') as h:

   data = f.read()

   h .write(data)


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn