首先明確一點,現代計算機的作業系統都不允許程式直接操作磁碟的,所以讀取檔案和寫入檔案都是有作業系統提供的提供的介面完成的,每一種程式語言都會把作業系統提供的低階c介面封裝起來方便使用,python也不例外。python是怎麼樣讀取檔案的。
檔案開啟
f= open ('1、檔案的讀取c:/users/administrator/desktop/test.txt
','r
')
使用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 以二進位制格式開啟檔案用於唯讀,檔案...