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‘))

  

原文地址:https://www.cnblogs.com/bazingafraser/p/8876255.html

时间: 2024-10-10 02:14:24

python-json&pickle序列化--026的相关文章

python 跨语言数据交互,json,pickle(序列化).

Python中用于序列化的两个模块 json     用于[字符串]和 [python基本数据类型] 间进行转换 pickle   用于[python特有的类型] 和 [python基本数据类型]间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.load json.dudmp ("[11,22]",open('db.txt','w'))   #转换成字符串再保存到该文件. json.lo

python json pickle

Python中用于序列化的两个模块 json     用于[字符串]和 [python基本数据类型] 间进行转换 pickle   用于[python特有的类型] 和 [python基本数据类型]间进行转换 Json模块提供了四个功能:dumps.dump.loads.load pickle模块提供了四个功能:dumps.dump.loads.load import json s ='{"key":"value"}' dic = json.loads(s) str 

json&pickle序列化

一.用途 我们需要将内存中的数据进行序列化,即写入文件中时,写入的类型只能是字符串或者二进制类型.但是如果我们想要将复杂一些的数据类型,如:列表.字典或者函数之类的同样进行序列化,我们就要用到 json或者pickle. 二.json序列化 1.dumps序列化和loads反序列化 dumps把数据类型转换成字符串 import json info = { 'name': 'The Count of Monte Cristo', 'type': 'Movie' } data = json.dum

Python之pickle序列化

内存中有一个数据结构,你希望将它保存下来,重用,或者发送给其他人.你会怎么做?这取决于你想要怎么保存.怎么重用.发送给谁.很多游戏允许你在退出时保存进度,然后你再次启动的时候回到上次退出的地方.(实际上,很多非游戏程序也会这么干.)在这个情况下,一个捕获了当前进度的数据结构需要在你退出的时候保存到磁盘上,接着你重新启动的时候从磁盘上加载进来. Python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过

python json,pickle模块

json模块 不同语言间的数据交互 eval方法可以将一个字符串转成python对象,但eval方法是有局限性,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型(函数.类等)的时候,eval就不管用了,因此eval通常用来执行一个字符串表达式,并返回表达式的值. dic='{"name":"alex"}' f=open('hello','w') f.write(dic) #eval方法将字符串转换为python的数据类型 f_read=ope

Python json & pickle, shelve 模块

json 用于字符串和python的数据类型间的转换 四个功能 dumps dump loads load pickle 用于python特有的类型和python的数据类型进行转换 四个功能 dumps dump loads load shelve 是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式 1 # !/user/bin/python 2 # -*- coding: utf-8 -*- 3 import shelve 4 5 d =

python开发模块基础:序列化模块json,pickle,shelve

一,为什么要序列化 # 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化'''比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给?现在我们能想到的方法就是存在文件里,然后另一个python程序再从文件里读出来.但是我们都知道,对于文件来说是没有字典这个概念的,所以我们只能将数据转换成字典放到文件中.你一定会问,将字典转换成一个字符串很简单,就是str(dic)就可以办到了,为什么我们还要学习序列化模块呢?没错序列化的过程就是从dic 变成str(dic)的

python 序列化 json pickle

python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象. 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去. protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示:1:老式的二进制协议:2:2.3版本引

Python-Day4 Python基础进阶之生成器/迭代器/装饰器/Json & pickle 数据序列化

一.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了.所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种