python-json&pickle序列化--026

Posted bazingafraser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-json&pickle序列化--026相关的知识,希望对你有一定的参考价值。

用于序列化的两个模块

  • json,用于字符串 和 python数据类型间进行转换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

实例一:

1、文件写入

info = {

        ‘name‘:‘robin‘,

        ‘old‘:‘12‘

    }

f = open(‘E:\python-project\ceshi.txt‘,‘w‘)

f.write(str(info))

f.close()

2、文件读取

 

f = open(‘E:\python-project\ceshi.txt‘,‘r‘)

data = eval(f.read())

f.close()

print(data[‘old‘])

  

实例二:(使用json序列化)

1、文件写入

import json

info = {

        ‘name‘:‘robin‘,

        ‘old‘:‘12‘

    }

f = open(‘E:\python-project\ceshi.txt‘,‘w‘)

f.write(json.dumps(info))  #相当于json.dump(info,f)

f.close()

  

2、文件读取

import json

f = open(‘E:\python-project\ceshi.txt‘,‘r‘)

data = json.loads(f.read()) #相当于data = json.load(f)

f.close()

print(data[‘old‘])

 

实力三:(使用pickle序列化)

1、文件写入

import pickle

def sas(name):

    print("hello",name)

info = {

        ‘name‘:‘robin‘,

        ‘old‘:‘12‘,

        ‘func‘:sas

    }

f = open(‘E:\python-project\ceshi.txt‘,‘wb‘)

f.write(pickle.dumps(info))    #相当于pickle.dump(info,f)

f.close()

 

2、文件读取

import pickle

def sas(name):

    print("hello2",name)

f = open(‘E:\python-project\ceshi.txt‘,‘rb‘)

data = pickle.loads(f.read())  #相当于data = pickle.load(f)

f.close()

print(data[‘func‘](‘wen‘))

  

以上是关于python-json&pickle序列化--026的主要内容,如果未能解决你的问题,请参考以下文章

Python-json 和 pickle

Python-json序列化

python序列化: json & pickle & shelve 模块

python序列化: json & pickle & shelve 模块

python:Json & pickle数据序列化

json&pickle模块configparse/hashlib/subprocess 模块