json & pickle Python中用于序列化的两个模块 json     用于[字符串]和 [python基本数据类型] 间进行转换 pickle   用于[python特有的类型] 和 [python基本数据类型]间进行转换 Json模块提供了四个功能:dumps.dump.loads.load 1.dumps序列化和loads反序列化 dumps()序列化 import json #导入json模块 info = { 'name':"zhangqigao", &qu…
python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象. 基本接口: pickle.dump(obj, file, [,protocol]) 注解:将对象obj保存到文件file中去. protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示:1:老式的二进制协议:2:2.3版本引…
用于序列化的两个模块: json:用于字符串和python数类型间进行转换 oickle:用于python特有的类型和python的数据类型间进行转换 json.pickle模块提供四个功能:dumps.dump.loads.load 使用json&pickle将转化成字符串写入文件 import json import pickle def sayhi(name): print("hello,", name) info = { "name":"g…
一.JSON &pickle 用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换  字符串必须是双引号,不能是单引号 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps.dump.loads.dump pickle模块提供了四个功能:dumps.dump.loads.load dumps,loads处理字符串 dump,dump写入文件 pickle处理特有的,比如函数;json和pickle读文件只…
序列化 参考:https://www.cnblogs.com/yuanchenqi/articles/5732581.html # dic = str({'1':'111'}) # # f = open('test', 'w') # f.write(dic) #必须是str类型,不是set file = open('test', 'r') data = file.read()#data是字符串 '])#用eval将字符串类型的data转成dict类型 print(type(data)) prin…
一.json模块 之前学习过的eval内置方法可以将一个字符串转成一个python对象,不过eval方法时有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了.所以eval的重点还是通常用来执行一个字符串表达式,并返回表达式的值. import json x = "[null,true,false,1]" # print(eval(x)) #用eval会报错 print(json.loads(x)) # 用json就不会报错 什…
Json是各程序通用的数据格式:pickle是Python特有的,可以存储很多Python特有的数据,如函数地址等 Json的简单使用: import json jsondata={ "user":"dong", "name":"dongxiaodong", "age":100 } #字典(json对象)转换为字符串 strjson=json.dumps(jsondata) print(type(strjs…
一.复习 反射 必须会 必须能看懂 必须知道在哪儿用 hasattr getattr setattr delattr内置方法 必须能看懂 能用尽量用__len__ len(obj)的结果依赖于obj.__len__()的结果,计算对象的长度__hash__ hash(obj)的结果依赖于obj.__hash__()的结果,计算对象的hash值__eq__ obj1 == obj2 的结果依赖于obj.__eq__()的结果,用来判断值相等__str__ str(obj) print(obj) '…
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则 转自老男孩老师Yuan:http://www.cnblogs.com/yuanchenqi/articles/5732581.html 模块&包(* * * * *) 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,…
1.json/pickle   略. 2.shelve模块 import shelve # shelve 以key value的形式序列化,value为对象 class Foo(object): def __init__(self, n): self.n = n s = shelve.open("shelve_test") name = ["alex", "rain", "test"] s["test"]…
一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进行转换Json模块提供了四个功能:dumps.dump.loads.loadpickle模块提供了四个功能:dumps.dump.loads.load json模块:下面通过一些示例来学习:首先我们来看json的dumps和loads方法 s1={"k1":"v1"}…
参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html http://www.cnblogs.com/alex3714/articles/5161349.html 1.模块的分类 内置模块:存放在lib目录下 第三方模块:通常放到site-packages目录下 自定义模块:可以通过sys.path.append(module_path)添加模块到搜索路径 2. 模块的调用顺序 按path列表从前到后的顺序按模块名搜索模块.一定避免模块重…
目录: 装饰器 生成器 迭代器 Json & pickle 数据序列化 软件目录结构规范 1. Python装饰器 装饰器:本质是函数,(功能是装饰其它函数)就是为其他函数添加附加功能 原则: >不能修改被装饰的函数的源代码 >不能修改被装饰的函数的调用方式 实现装饰器知识储备: >函数即“变量” >高阶函数 a)把一个函数名当做实参传给另外一个函数(在不修改源代码的请情况下) b)返回值中包含函数名(不修改函数的调用方式) >嵌套函数 高阶函数+嵌套函数=>装…
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 一.生成器 1.列表生成式 >>> L = [x * x for x in range(10)] >>> L [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 2.生成器 只有在调用时才会生成相应的数据,只有一个方法:__next__()方法.next(),也就是又next方法的 生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量…
高级加密标准(Advanced Encryption Standard,AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准.2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一.AES只是个基本算法,实现AES有若干模式.其中…
一.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了.所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种…
json & pickle 模块(序列化) json和pickle都是序列化内存数据到文件 json和pickle的区别是: json是所有语言通用的,但是只能序列化最基本的数据类型(字符串.字典.列表),像函数.类.python日期都不能序列化 pickle可以序列化python几乎所有的数据类型 如果两个程序都需要交互内存数据,如果都是python语言的情况下,复杂的交互用pickle. 用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于pyt…
Python 基础之pickle与json 有没有在搞pickle与json在进行数据储存的时候老是报错,这个有些让人烦恼,在之前有一篇介绍过它们的基本用法以及在使用过长中避免一些坑,但是今天在把对象写入的时候pickle 与json却给我而给出了不同的结果. 我们先看一下我当时做的结果: :         这是为啥?传递的参数是一致的为啥json和pickle会有如此大的差距呢?Student为啥就不是可序列化的对象呢?有些困惑,其实json中有许多的参数是可以设置的.之前的Student对…
内容概要: 一.生成器 二.迭代器 三.json&pickle数据序列化 一.生成器generator 在学习生成器之前我们先了解下列表生成式,现在生产一个这样的列表[0,2,4,6,8,10],当然有很多方法,下面的方法就叫列表生成式. >>> [ i*2 for i in range(6) ] [0, 2, 4, 6, 8, 10] 当然还有其他方法: >>> a=map(lambda x:x*2,range(6)) >>> for i i…
什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatterning 等等,都是一个意思. 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上(因为硬盘或网络传输时只接受bytes). 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpacking. 为什么要序列化? 举个例子,你在打游戏过程中,打累了,停下来,想过…
序列化模块 1.什么是序列化-------将原本的字典,列表等对象转换成一个字符串的过程就叫做序列化 2.序列化的目的 1.以某种存储形式使自定义对象持久化 2.将对象从一个地方传递到另一个地方 3.使程序更具维护性 3.用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 json Json模块提供了四个功能:dumps.loads.dump.load json对象与python对象对应关…
前言 据记载,公元前400年,古希腊人发明了置换密码.1881年世界上的第一个电话 保密专利出现.在第二次世界大战期间,德国军方启用“恩尼格玛”密码机, 密码学在战争中起着非常重要的作用. 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高, 于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”, 民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES.RSA.SHA等. 随着对加密强度需求的不断提高,近期又出现了AES.ECC等. 使用密码学可…
起源: 视频下载,解析到一个网站时,发现其视频id是用AES加密过的,用的是https://code.google.com/archive/p/crypto-js/这个库.解密很简单的一句js代码: t.video = CryptoJS.AES.decrypt(t.video, secret).toString(CryptoJS.enc.Utf8); 原本想着简单,找段python代码做解密是了,没想到反复尝试,写法五花八门多种多样,就是解不出来,竟费去许多工夫! 如何简单?我只需实现验证下面的…
DES的加密与解密算法(Python实现) 密码学实验:实现了DES的简单的加密和解密算法,DES算法的相关资料网上很多,这里不再赘述,仅仅贴出源代码给大家分享,源码中包含很多汉字注释,相信大家都是可以读懂的. 为了方便阅读和理解DES算法的原理,这里我将代码进行了模块化,分为了四个模块:密钥生成模块.F函数模块.DES加密模块.DES解密模块. 注:DES的加密算法和解密算法几乎是一模一样的,仅仅是密钥的使用顺序不同,所以模块的代码也几乎没有什么区别.输入输出要求是16个十六进制的字符,刚好是…
加密算法分类 对称加密算法: 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥 发送方和接收方需要持有同一把密钥,发送消息和接收消息均使用该密钥. 相对于非对称加密,对称加密具有更高的加解密速度,但双方都需要事先知道密钥,密钥在传输过程中可能会被窃取,因此安全性没有非对称加密高. 常见的对称加密算法:DES,AES,3DES等等 非对称加密算法: 文件加密需要公开密钥(publickey)和私有密钥(privatekey). 接收方在发送消息前需要事先生成公钥和私钥,然后将…
M2Crypto 模块 快速安装: # 环境centos7.0,提前装好openssl(自行百度安装),windows装不上,暂不考虑了 [root@localhost ~]# pip install m2crypto # 验证 >>> import M2Crypto >>> 先做准备工作: # centos系统上执行以下命令生成公钥和私钥 [root@localhost ~]# openssl genrsa -out key.pem 1024 [root@localh…
摘录于:http://blog.csdn.net/nurke/article/details/77267081 另外参考:http://www.cnblogs.com/kaituorensheng/p/4501128.html AES,是美国联邦政府采用的一种加密技术,AES有几个模式,其中CBC模式是公认的安全性最好的模式,被TLS所采用. 加密与解密双方需确定好key,key的长度可以是16位,24位,32位中的一个,分别对应了不同的算法. 如果key的长度是是16位的,那么被加密的明文长度…
json作为不同语言间进行数据交互的媒介,在当下已经渐渐取代了之前的xml,看一波python操作json # coding = ascii import json import pickle import sys import os ''' 练习json,pickle json类型的数据可以实现不同语言间的数据交互, python3中引入json是为了实现将字典,列表等格式的数据 打包成字符串形式,即将其序列化,使用eg.json.dump(list,f) or f.write(json.du…
读取本地json文件,转出为指定格式json   引用添加Json.Net 引用命名空间 using Newtonsoft.Json //读取自定目录下的json文件StreamReader sr = new StreamReader(@"D:\xxx.json");string json = sr.ReadToEnd();//json文件转为 对象  T 创建的类 字段名 应该和json文件中的保持一致     var data = JsonConvert.DeserializeOb…
shutil模块: 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fscr,fdst [, length])   # 将文件内容拷贝到另一个文件中 import shutil f1 = open('import练习.py','r',encoding='utf-8') f2 = open('import练习_new1.py','w',encoding='utf-8') shutil.copyfileobj(f1,f2,length=1) # 处理结果: # 将f1的…