打開文件
使用open()函數打開文件,兩個參數文件路徑或文件名第二個是文件的打開方式
"r",以只讀模式打開,你只能讀取文件但不能編輯/刪除文件的任何內容
"w",以寫入模式打開,如果文件存在將會刪除里面的所有內容,然后打開這個文件進行寫入
"a",以追加模式打開,寫入到文件中的任何數據將自動添加到末尾
默認的模式為只讀模式,也就是說如果你不提供任何模式,open() 函數將會以只讀模式打開文件。我們將實驗打開一個文件,不過要準備實驗材料:
文件關閉
使用close()完成操作
始終確保你顯式關閉每個打開的文件,一旦它的工作完成你沒有任何理由保持打開文件。因為程序能打開的文件數量是有上限的。如果你超出了這個限制,沒有任何可靠的方法恢復,因此程序可能會崩潰。每個打開的文件關聯的數據結構(文件描述符/句柄/文件鎖...)都要消耗一些主存資源。因此如果許多打開的文件沒用了你可以結束大量的內存浪費,并且文件打開時始終存在數據損壞或丟失的可能性。
文件讀取
使用read()方法一次性讀取整個文件
如果你再一次調用 read(),它會返回空字符串因為它已經讀取完整個文件。
read(size) 有一個可選的參數 size,用于指定字符串長度。如果沒有指定 size 或者指定為負數,就會讀取并返回整個文件。當文件大小為當前機器內存兩倍時,就會產生問題。反之,會盡可能按比較大的 size 讀取和返回數據。
readline()能幫助你每次讀取文件的一行。
readlines()讀取所有行到一個列表中。
文件寫入
使用write()打開一個問及那然后我們隨便寫入一些文本
文件操作
在實際情況中,我們應該嘗試使用 with 語句處理文件對象,它會在文件用完后會自動關閉,就算發生異常也沒關系。它是 try-finally 塊的簡寫:
>>> with open('sample.txt') as fobj:
... for line in fobj:
... print(line, end = '')