zoukankan      html  css  js  c++  java
  • python入门之json与pickle数据序列化

    前提实例

      将一个字典存放在文件里

    #存入数据
    info = {   'name':'chy',   'age':18 } f = open("test.txt","w") f.write(str(info)) f.close()
    #读取数据
    f = open("test.txt","r") data = eval(f.read()) f.close()
    print(data["name"])

      以上使用str()和eval()函数对数据进行操作并不是规范使用,这样很low,所以对于这种字典形式的数据的录入转换,就需要引入json了。

    #存入数据
    import json
    info = {
      'name':'chy',
      'age':18
    }
    f = open("test.txt","w")
    f.write(json.dumps(info))
    f.close()
    #读取数据
    import json
    f = open("test.txt","r")
    data = json.loads(f.read())
    f.close()
    print(data["name"])

      另外pickle和json使用方式相似,pickle是python特有的,可以对python所有的数据类型进行序列化(提示,如果字典的值有函数名的话,那么在读取的程序里必须有相同函数名的函数,内容不必一样)

    #存入数据,将字典转换为二进制数据
    import pickle
    info = {
      'name':'chy',
      'age':18
    }
    f = open("test.txt","wb")
    f.write(pickle.dumps(info))
    f.close()
    #读取数据
    import pickle
    f = open("test.txt","rb")
    data = pickle.loads(f.read())
    f.close()
    print(data["name"])
  • 相关阅读:
    hdu4990矩阵快速幂
    预处理+状态压缩+剪枝——codefoece 1209E
    AC自动机处理多串匹配——cf1202E
    二维差分前缀和——cf1202D(好题)
    序列递推——cf1204E(好题)
    建模+线性dp——cf1201D
    暴力——cf1202C
    经典排序背包——cf1203F
    思维+贪心——cf1042D
    分块——cf1207F
  • 原文地址:https://www.cnblogs.com/chy-op/p/10183850.html
Copyright © 2011-2022 走看看