課時31:永久儲存:腌制一缸美味的泡菜

来源:https://www.cnblogs.com/DC0307/archive/2018/08/21/9509029.html
-Advertisement-
Play Games

目錄: 一、pickle模塊 二、課時31課後習題及答案 ****************** 一、pickle模塊 ****************** Python提供了一個標準模塊,使用這個模塊,就可以輕鬆地將列表、字典這類複雜類型存儲為文件了。這個模塊就是pickle模塊。 它幾乎可以把所有 ...


目錄:

  一、pickle模塊

  二、課時31課後習題及答案

 

******************

一、pickle模塊

******************

Python提供了一個標準模塊,使用這個模塊,就可以輕鬆地將列表、字典這類複雜類型存儲為文件了。這個模塊就是pickle模塊。

它幾乎可以把所有Python對象都轉化為二進位的形式存放,這個過程稱為pickling,那麼從二進位形式轉化回對象稱為unpickling。

import pickle

my_list = [123,3.14,'小甲魚',['another list']]
pickle_file = open('D:\\my_list.pkl','wb')
pickle.dump(my_list,pickle_file)
pickle_file.close()

分析以下:這裡希望把這個列表永久保存起來(保存為文件),打開的文件一定要以二進位的形式打開,尾碼名倒是可以隨意,不過既然使用pickle保存,為了以後方便記憶,建議使用.pkl或.pickle。使用dump方法來保存數據,完成後記得保存,跟操作普通文本文件一樣。

程式執行後,C盤會出現一個my_list.pkl的文件,用記事本打開之後顯示亂碼(因為它保存的是二進位形式),如圖所示:

那麼在使用的時候只需要用二進位模式先把文件打開,然後用load把數據載入進來:

import pickle

pickle_file = open('D:\\my_list.pkl','rb')
my_list =pickle.load(pickle_file)
print(my_list)

程式執行後又取回我們的列表了:

[123, 3.14, '小甲魚', ['another list']]
>>> 

利用pickle模塊,不僅可以保存列表,事實上pickle可以保存任何你能想象得到的東西。

 

*******************************

二、課時31課後習題及答案

*******************************

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 設計微服務最佳實踐 1,為每個微服務分別存儲數據 2,將代碼保持在類似的成熟度級別 3,為每個微服務單獨構建 4,部署到容器 5,將服務設計為無狀態服務 ...
  • mysql:https://dev.mysql.com/downloads/mysql/8.0.html my.ini [mysqld] # 設置3306埠 port=3306 # 設置mysql的安裝目錄 basedir=C:\\Program Files\\MySQL\\mysql-8.0.1 ...
  • python3.7 文件操作 ...
  • 運算符描述 ** 指數 (最高優先順序) ~ + - 按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@) * / % // 乘,除,取模和取整除 + - 加法減法 >> << 右移,左移運算符 & 位 'AND' ^ | 位運算符 <= < > >= 比較運算符 <> == != 等於 ...
  • BigDecimal 類的使用 1、使用 BigDecimal 的原因   由於需要計算金額,所有需要高精度計算,所有需要使用 BigDecimal 類。 BigDecimal能夠精確的表示一個小數,常用於商業和科學計算;float,double不能精確的表示一個小數。 2、常用 ...
  • new delete初探 1,new有2個作用 開闢記憶體空間。 調用構造函數。 2,delete也有2個作用 釋放記憶體空間 調用析構函數。 如果用new開闢一個類的對象的數組,這個類里必須有預設(沒有參數的構造函數,或者有預設值的參數的構造函數)的構造函數。 釋放數組時,必須加[]。delete [ ...
  • 開始了,繼續說!字元串替換,就是預留著空間,後邊再定義要填上什麼,這種叫字元串格式化,其有兩種方法: % 和 format %s 就是一個占位符,這個占位符可以被其它的字元串代替 >>> "I like %s" % "python" 'I like python' string.format()的格 ...
  • 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 給定一個代表每個房屋存放金額的非負整數數組,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。 示例 1: 輸 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...