Python檔案類操作

2021-08-11 19:27:02 字數 2353 閱讀 6439

f = open('123.text','w',encoding='utf-8')       # 開啟檔案物件,'寫'模式

f.write('hello world') # 寫入指定字元,清空原有的字元,返回原有字元數量

f.close() # 關閉檔案物件;每次開啟操作完都要關閉,否則內容還在快取中

f = open('123.text','r',encoding='utf-8')       # 開啟檔案物件,'讀'模式

print(f.read(5)) # 讀取指定數量的字元,不指定則讀取所有的字元

print(f.readlines()) # 把每行做成列表裡的乙個值,包含換行

f.close() # 關閉檔案物件

for i in f:         # 遞迴輸出每行

print(i)

print(f.tell())     # 讀取游標位置
f.seek(1)        # 移動游標位置到指定位置,預設游標在0位置

d = eval(f.read)       # 把檔案裡的內容按其字元格式轉成對應的資料型別
模式描述r

以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。

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

rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

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

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

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

x  |   寫,如果檔案存在就會報錯

二進位制方式寫入、讀取

f = open('bug.log'

, 'wb') # 以二進位制方式寫入

f.write(bytes('中國'

, encoding='utf-8')) # 必須先把字元轉換成位元組,並指定編碼

f.close()

f = open('bug.log'

, 'rb') # 以二進位制方式讀取

p = f.read()

print(type(p))

print(str(p,

encoding='utf-8')) # 讀取出來時也要轉換成字串

f.close()

flush 重新整理快取

f = open('bug.log'

, 'r+'

, encoding='utf-8')

f.write('hehe')

f.flush() # 在檔案沒有關閉的情況下,寫入的內容不會立即存入檔案,而是在快取中,

i = input('>>') # 用flush可以立即把寫入的內容存入檔案,而不必關閉檔案。

f.close()

with as ...

with 

open('1.txt'

, 'w'

, encoding='utf-8') as b1,

open('bug.log'

, 'r'

, encoding='utf-8') as b2: # python2.6之後可以用with同時開啟兩個檔案

for line in b2: # 用for迴圈可以一行一行讀取

b1.write(line) # 依行寫入到另乙個檔案

python 檔案類操作 z

file在python是乙個特殊的型別,它用於在python程式中對外部的檔案進行操作。在python中一切都是物件,file也不例外,file有file的方法和屬性。下面先來看如何建立乙個file物件 file 函式用於建立乙個file物件,它有乙個別名叫open 可能更形象一些,它們是內建函式。...

檔案操作類

把乙個資料夾下所有檔案複製到另乙個資料夾下 當前資料夾 copy到新檔案 public static void copydirectory string srcpath,string destpath copydirectory i.fullname,destpath i.name 遞迴呼叫複製子資...

ini檔案操作類

using system using system.io using system.runtime.interopservices using system.text using system.collections using system.collections.specialized name...