day 21 01 序列化模块和模块的导入的复习以及包的初识
day 21 01 序列化和模块的导入的复习以及包的初识
1.序列化模块
什么是序列化模块:数据类型转化成字符串的过程就是序列卷
为什么要使用序列化模块:为了方便存储和网络传输
三种序列化模块:
(1) json
dumps:序列化方法
loads:反序列化
dump:和文件有关
load:不能load多次
(2)pickle
方法和json一样,都有以上四种
注意dump和load的时候,文件是rb或者wb打开
支持python的所有数据类型
序列化和反序列化需要相同的环境
(3)shelve
只提供了open方法
open方法获取了一个文件句柄
操作和字典类似,记得操作完了close文件
2.模块的导入
import
from import
as 重命名
都支持多名字导入
sys.moudles:记录了所有被导入的模块
sys.path:记录了导入模块的时候寻找的所有路径
3.包的初识
包:把解决一类问题的模块放在同一个文件夹里面-----包
同样导入的时候有import和from import
import glance.api.policy #galance包含api,api包含policy,都是py文件
policy.get() from glance.api.import policy #galance包含api,api包含policy
policy.get() from glance.api.policy import get #直接到模块下面的方法了
get()
注意:凡是导入是带点的,点的左边必须是一个包模块,import后面不能带有点(from glance import policy.api是错误会报错)
使用包里面的方法 import
import galance # 不会执行policy.py文件
glance.api.policy.get()
#这时是会报错的,不能只导入glance,然后直接使用里面的变量和方法,因为只是导入了glance的文件夹并没有和里面的文件夹产生关系
#如何解决呢?
import glance
---执行init文件:在init文件里面再import api,import cmd,import db
---执行import的三个文件的init文件:再在他们的import policy,import versioncy
此时就可以只通过importglance,然后后面直接点就使用glance里面的方法了:
import glance
glance.db.方法
glance.cmd.方法
day 21 01 序列化模块和模块的导入的复习以及包的初识的更多相关文章
- day20:序列化模块,模块的导入
1,什么是序列化--将原本的字典,列表等内容转换成一个字符串的过程就叫做序列化,字符串是有顺序的,序列化转向一个字符串的过程,我们平时说的序列,指的就是字符串. 2,为何要序列化?本来字符串是可以强转 ...
- python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )
1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...
- python常用模块: random模块, time模块, sys模块, os模块, 序列化模块
一. random模块 import random # 任意小数 print(random.random()) # 0到1的任意小数 print(random.uniform(-10, 10)) # ...
- day13 函数模块之序列化 random 模块 os模块 sys模块 hashlib模块 collections模块
json import json dic = {'k1':'v1','k2':'v2','k3':'v3'} str_dic = json.dumps(dic) #序列化:将一个字典转换成一个字符串 ...
- python模块知识二 random -- 随机模块、序列化 、os模块、sys -- 系统模块
4.random -- 随机模块 a-z:97 ~ 122 A-Z :65 ~ 90 import random #浮点数 print(random.random())#0~1,不可指定 print( ...
- 7.18 collection time random os sys 序列化 subprocess 等模块
collection模块 namedtuple 具名元组(重要) 应用场景1 # 具名元组 # 想表示坐标点x为1 y为2 z为5的坐标 from collections import namedtu ...
- Python模块02/序列化/os模块/sys模块/haslib加密/collections
Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...
- python 序列化及其相关模块(json,pickle,shelve,xml)详解
什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatter ...
- Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式
Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Py ...
随机推荐
- 09_java之面向对象概述
01面向对象和面向过程的思想 * A: 面向过程与面向对象都是我们编程中,编写程序的一种思维方式 * a: 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程. * b: ...
- ffmpeg问题汇总及解决方案 <设置avformat_open_input 超时><转>
1:如果数据是rtp/rtsp传输的话,ffmpeg会每隔30s(哪里设置该值?)发送一个keepalive包,如果ipc支持GET_PARAMETER命令,就发该命令等ipc回复以确认ipc还活着. ...
- then()方法是异步执行
then()方法是异步执行 就是当.then()前的方法执行完后再执行then()内部的程序 这样就避免了,数据没获取到等的问题
- <转>UNIX 共享内存应用中的问题及解决方法
http://www.ibm.com/developerworks/cn/aix/library/au-cn-sharemem/ 共享内存是一种非常重要且常用的进程间通信方式,相对于其它IPC机制,因 ...
- js 操作数组的一些方法
1.从数组中获取最大的数 function getMaxfromarr(arr) { var lasti = 0; for (var i = 0; i < arr.length; i++) { ...
- svn与eclipse的集成(第三方插件与eclipse的集成)
在eclipse中点击Help,选中install from site..
- bugfree调试
最近项目用到bugfree ,一直不能用,原来是session目录的文件权限有问题.
- Excel VBA 获取按钮对象
今天给同事写了两个VBA宏,并分别把宏赋给了两个按钮. 因为两个宏都是实现在两种显示方式之间切换,于是我想除了功能的实现外,还希望在切换到其中一种方式时,按钮上面的文字也可以跟着改变,起到提示作用. ...
- 第一个MFC实例:计算圆周长和圆面积
一.基于Microsoft MFC的编程方法 MFC是微软基础类库(Microsoft Foundation Class)的缩写.与API不同,MFC不是Windows操作系统的组成部分,而是微软公司 ...
- 保持在Div 底部的方法
<!DOCTYPE> <html> <head> <meta http-equiv="content-type" content=&quo ...