python中文件IO的讀寫

2022-05-04 14:00:13 字數 2960 閱讀 9777

首先明確一點,現代計算機的作業系統都不允許程式直接操作磁碟的,所以讀取檔案和寫入檔案都是有作業系統提供的提供的介面完成的,每一種程式語言都會把作業系統提供的低階c介面封裝起來方便使用,python也不例外。python是怎麼樣讀取檔案的。

檔案開啟

f= open ('

c:/users/administrator/desktop/test.txt

','r

')

1、檔案的讀取

使用open語句進行檔案的開啟操作,括號裡面指明檔案的位置和閱讀的模式,'r'唯讀,還是'w'寫入.中間用逗號隔開,位置與模式分別使用引號。

檔案開啟成功,可以使用read()方法進行一次性全部讀取到計算機記憶體中,並用乙個字串物件表示,

>>>f.read()

''

因為檔案是空的,返回  ''

使用 read() 方法危險之處在於如果檔案過大,計算機記憶體就會爆滿,可以使用更加安全的方法。

read(size)表示每次最多讀取size位元組的內容

readline()表示每次讀取一行的內容

readlines()表示一次讀取所有內容並按行返回list
2、檔案的寫入

首先開啟檔案,指定寫入模式:

f= open ('

c:/users/administrator/desktop/test.txt

','w

')

寫入內容:

f.write('

hello,world

')

這是文字已經寫人檔案。

3、關閉檔案

開啟的檔案物件會占用系統的資源,所以要進行關閉操作,另外作業系統同一時間能開啟的檔案數量也是有限的,及時關閉檔案是良好的**書寫習慣。

f.close()
至此乙個檔案的讀取、寫入、關閉完成。

注意的是使用io讀寫很可靠會發生錯誤,這是檔案依舊開啟但是使用close()會失去呼叫,為了保證無論是否出錯我們都能正確的關閉檔案,使用python中的try finally來實現。

try:

f = open('c:/users/administrator/desktop/test.txt', 'r')

print(f.read())

finally:

if f:

f.close()

使用with語句來自動幫我們呼叫close()方法:

with open('c:/users/administrator/desktop/test.txt

', 'r'

) as f:

print(f.read())

try ... finally是一樣的,但是**更佳簡潔,並且不必呼叫f.close()方法。

4、其他檔案讀取:

遇到有些編碼不規範的檔案,open()函式還接收乙個errors引數,表示如果遇到編碼錯誤後如何處理。最簡單的方式是直接忽略:

f = open('

/users/michael/gbk.txt

', '

r', encoding='

gbk', errors='

ignore

')

常見的檔案開啟模式:

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

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

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

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

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

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

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

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

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

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

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

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

最後注意:

在windows資源管理器中的檔案位址位置使用的"\",但是在python中的讀取時路徑要使用"/"否則會出現錯誤。

Java 讀寫 中文文件

public void testrw throws exception file f new file e if f.exists outputstreamwriter write new outputstreamwriter new fileoutputstream f utf 8 buffere...

python中檔案的讀寫

w 只寫,會清空檔案原有的內容,檔案不存在則建立檔案 在檔案file.txt 中寫入hello python hello zxn filename file.txt 1.開啟檔案 f open filename,w 2.對檔案操作 f.write hello python hello zxn 3.關...

Python中檔案讀寫

2019 06 01 python中的檔案讀寫 操作檔案過程如下 1 開啟檔案 格式 open path,flag encoding errors path 表示要開啟檔案的路徑,flag 表示開啟方式 r 以唯讀的方式開啟檔案,檔案的描述符放在檔案的開頭 rb 以二進位制格式開啟檔案用於唯讀,檔案...