python操作json来存储简单的数据,pickle来操作复杂的数据

json作为不同语言间进行数据交互的媒介,在当下已经渐渐取代了之前的xml,看一波python操作json

 1 # coding = ascii
 2
 3 import json
 4 import pickle
 5 import sys
 6 import os
 7 ‘‘‘
 8 练习json,pickle
 9 json类型的数据可以实现不同语言间的数据交互,
10 python3中引入python是为了实现将字典,列表等格式的数据
11 打包成字符串形式,即将其序列化,使用eg.json.dump(list,f) or f.write(json.dumps(list))实现。
12 反序列化:将字符串格式的文本内容解析为对应的原格式数据从而实现操作,
13 使用eg.json.load(f) or json.loads(f.read())
14 pickle的用法跟json完全一样,只是pickle支持将复杂对象打包成字符串形式
15 而json做不到。
16 ‘‘‘
17 #序列化(serializable)
18 # list = [1,2,3,4,5,6]
19 #maps = {"name":"Alex","age":30}
20 # f = open("jsonpractice.text","w")
21 # f.write(json.dumps(list)+"\n"+json.dumps(maps))
22 # f.close()
23
24 #反序列化
25 # f1 = open("jsonpractice.text","rb")
26 # data = json.loads(f1.read())
27 # print(data)
28 # for i in data.keys():
29 #     print(data[i])
30 # f1.close()
31
32 #pickle序列化
33 # def goby():
34 #     print("good bye")
35 # maps = {"name":"Alex","age":30}
36 # maps["func"] = ‘‘‘def goby():
37 #     print(‘good by‘)‘‘‘
38 # f = open("jsonpractice2.text","wb")
39 # f.write(pickle.dumps(maps)) #pickle.dump(maps,f)
40 # f.close()
41
42 #pickle反序列化
43 # f1 = open("jsonpractice2.text","rb")
44 # #data = pickle.loads(f1.read())
45 # data = pickle.load(f1)
46 # print(data["func"])
47 # exec(data["func"])
48 # f1.close()
49
50
51 # 字符转码实现
52 # test = "print(‘你好‘)"
53 # print(sys.getdefaultencoding())
54 # print(test.encode("utf-8").decode("ascii","replace").encode("ascii","replace").decode("utf-8"))
55 #exec(test)

原文地址:https://www.cnblogs.com/g177w/p/8120492.html

时间: 2024-10-10 05:57:14

python操作json来存储简单的数据,pickle来操作复杂的数据的相关文章

Python 基础 - Json文件读写

JSON介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). 在python中,JSON 由列表和字典组成. 序列化的两个模块中,json模块是用于

基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)

目录 1 准备工作 2 具体实施   1 准备工作 什么是Redis? Redis:一个高性能的key-value数据库.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用:提供string.list.set.zset.hash等数据结构的存储,并支持数据的备份. 本文适合使用的场景:当一个项目中Redis缓存的数据量逐渐增大,Redis缓存的数据占用内存也会越来越大,而且其中有很多很可能是价值不大的数据.由于Redis是一个key-value数据库,所以对其中的数

python对json的相关操作以及json模块的简要分析

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成. JSON有两种结构: 第一种就是"名称/值"对的集合.在python中相当于字典类型,在其他语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array). 第二种就是值的有序列表

[转]python对json的相关操作

json官方说明参见:http://json.org/ Python操作json的标准api库参考:http://docs.python.org/library/json.html 对简单数据类型的encoding 和 decoding: 使用简单的json.dumps方法对简单数据类型进行编码,例如: 1 2 3 4 5 6 import json obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)}] encoded

Json概述以及python对json的相关操作

转载自:http://www.cnblogs.com/coser/archive/2011/12/14/2287739.html 什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集.JSON采用完全独立于语言的文本格式,但

Json概述以及python对json的相关操作《转》

什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这

python操作json

概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象. JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集. Python2.6开始加入了JSON模块,无需另外下载,Python的Json模

python对json的相关操作

什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集.JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这

Python中关于txt的简单读写模式与操作

Python中关于txt的简单读写操作 常用的集中读写模式: 1.r 打开只读文件,该文件必须存在. 2.r+ 打开可读写的文件,该文件必须存在. 3.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. 4.w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失.若文件不存在则建立该文件. 5.a 以附加的方式打开只写文件.若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留. 6.a+ 以附加方式