Python  C7-4——檔案物件的幾種操作

weixin_34146805發表於2017-07-13

          今天的程式碼折騰了好久,出差中手機就是不方便吶。昨天是對檔案物件進行只讀操作,今天開始對檔案進行寫入操作。

6495375-59096150dc2194c8.jpg

      匯入了pickle模組;定義了字典並定義一對鍵值對;以只讀方式開啟檔案,可以看見用了其他方式——with,並把要開啟的檔案作為f;載入檔案物件f;將字典內容通過pickle模組的dump方法寫入檔案中;再開啟檔案,載入其內容。

    執行過程中,檔案因該是被刪除了,程式碼不能有效執行,出現檔案不存在的錯誤。根據大大說的把程式碼順序略作調整。

6495375-5293e5e52a6a1d22.jpg

      將寫入操作放在前面,載入內容的操作放在後。

6495375-8f1c5dc8fe742978.jpg

    輸出結果可以看到有兩句,一句是None字串;另一句是字典對應的內容。

1、檔名不存在的情況下,寫入操作仍然有效;執行機制是:檔名不存在時,python自動建立一個檔案並執行寫入操作;

2、pickle模組是一個資料序列化和反序列化的永久儲存模組;dump是將物件寫入檔案中(程式碼中是字典物件);load是讀取檔案內容並且重構為原來的物件;程式碼中是重構字典型別並列印;

3、pickle 模組dump函式寫入操作時,返回給函式一個None字串;

4、with關鍵字在不再需要訪問檔案時將其關閉;提高了安全性,以防意外。

相關文章