zoukankan      html  css  js  c++  java
  • Python Pickle序列化

    Pickle序列化的使用

    介绍:序列化将一段命令转换成字符串,上传到文件内,

       用的时候在从文件内把字符串转回命令,

       从而实现一个挂起的功能。

     

    案例1:

    需求:使用pickle模块,在字典中将函数数据类型进行转换,并调用。

     1 #序列化
     2 def xsk():
     3     print("Kevin")
     4 info = {
     5     'name':'alex',
     6     'age':'22',
     7     "Kevin":xsk
     8 }
     9 
    10 
    11 f = open("test.txt","wb")
    12 import pickle
    13 f.write(pickle.dumps(info))
    14 f.close()
    15 
    16 #反序列化
    17 def xsk():
    18     print("66666666")
    19 import pickle
    20 f = open("test.txt","rb")
    21 data = pickle.loads(f.read())
    22 data["Kevin"]()

     

    案例2:

    需求:使用pickle,将转换数据导入到,文件中。

     1 def xsk():
     2     print("Kevin")
     3 info = {
     4     'name':'alex',
     5     'age':'22',
     6     "Kevin":xsk
     7  }
     8 f = open("test.txt","wb")
     9 import pickle
    10 pickle.dump(info,f)

    案例3:

    需求:使用pickle读取文件中的内容。

    1 def xsk():
    2     print("66666666")
    3 import pickle
    4 f = open("test.txt","rb")
    5 data = pickle.load(f)
    6 data["Kevin"]()

    二.pickle可支持的python数据格式。

    写入

    import shelve
    
    d = shelve.open("shelve_test")
    
    info = {'age':22}
    
    d["info"] = info

    读取

    import shelve
    
    d = shelve.open("shelve_test")
    
    d.get("info")

    注:写入文件内容,会固定内存数据。

    get是读取指定数据。

    items是读取全部数据。

    注:pickle只有在python语言中可以使用。

    注:pickle默认显示二进制需要加上参数b

    注:函数在转换的过程中转换的是指定的数据,不是内存地址。两个程序间的内存是不可以访问的。

    注:pickle.dumps("命令"):将命令行转换成字符串。

    注:pickle.loads("字符串"):将字符串转回命令。

    注:pickle.load(文件名):可以实现读取文件的功能。

    注:json.load(文件名):可以实现读取文件的功能。

    注:写入文件,推荐只写入一次,因为默认只有一行。

    注:如果要写入多次,推荐写入到不同的文件内。

     

     

     

  • 相关阅读:
    JSON介绍
    json例子(后台取消息)
    在Struts 2中使用JSON Ajax支持
    JSON介绍
    json例子(后台取消息)
    64位播放器播放RMVB时一卡一顿
    标记一个:HookQQ QQFun CWUB
    Android开发环境搭建全程演示(jdk+eclip+android sdk)
    64位播放器播放RMVB时一卡一顿
    一种可做特殊用途的字符串匹配算法
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/7767478.html
Copyright © 2011-2022 走看看