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 序列化模块和模块的导入的复习以及包的初识的更多相关文章

  1. day20:序列化模块,模块的导入

    1,什么是序列化--将原本的字典,列表等内容转换成一个字符串的过程就叫做序列化,字符串是有顺序的,序列化转向一个字符串的过程,我们平时说的序列,指的就是字符串. 2,为何要序列化?本来字符串是可以强转 ...

  2. python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )

    1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...

  3. python常用模块: random模块, time模块, sys模块, os模块, 序列化模块

    一. random模块  import random # 任意小数 print(random.random()) # 0到1的任意小数 print(random.uniform(-10, 10)) # ...

  4. day13 函数模块之序列化 random 模块 os模块 sys模块 hashlib模块 collections模块

    json import json dic = {'k1':'v1','k2':'v2','k3':'v3'} str_dic = json.dumps(dic) #序列化:将一个字典转换成一个字符串 ...

  5. python模块知识二 random -- 随机模块、序列化 、os模块、sys -- 系统模块

    4.random -- 随机模块 a-z:97 ~ 122 A-Z :65 ~ 90 import random #浮点数 print(random.random())#0~1,不可指定 print( ...

  6. 7.18 collection time random os sys 序列化 subprocess 等模块

    collection模块 namedtuple 具名元组(重要) 应用场景1 # 具名元组 # 想表示坐标点x为1 y为2 z为5的坐标 from collections import namedtu ...

  7. Python模块02/序列化/os模块/sys模块/haslib加密/collections

    Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...

  8. python 序列化及其相关模块(json,pickle,shelve,xml)详解

    什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatter ...

  9. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

随机推荐

  1. Flask之模板之控制语句

    3.4 控制语句 常用的几种控制语句: 模板中的if控制语句 @app.route('/user') def user(): user = 'dongGe' return render_templat ...

  2. [Z] 用GDB调试程序

    原文:http://blog.csdn.net/haoel/article/details/2879 用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工 ...

  3. HTTP接口开发专题三(发送http请求,调用http接口的流程)

    一.xml数据格式传输 1)构造xml参数:通过JAXB将java对象转换为xml 2)调用上一篇的http工具类的方法,发送请求到目的接口地址 3)返回的xml字符串结果,用JAXB进行解析成jav ...

  4. leetcode125

    public class Solution { Stack<char> S = new Stack<char>(); Queue<char> Q = new Que ...

  5. Spring高级话题-@Enable***注解的工作原理

    出自:http://blog.csdn.net/qq_26525215 @EnableAspectJAutoProxy @EnableAspectJAutoProxy注解 激活Aspect自动代理 & ...

  6. js 的 defer 和async属性

    添加defer延迟属性,脚本将立即下载,但会延迟到整个页面解析完毕后按顺序执行.会先于DOMContentLoaded事件执行. 添加async异步属性,脚本将立即下载,执行时不会等待其他脚本,不一定 ...

  7. (转)libvirt API的基本概念

    本文摘自:http://blog.sina.com.cn/s/blog_da4487c40102v31i.html libvirt对象 libvirt的对象向外展现了虚拟化环境的所有资源.libvir ...

  8. git 转移

    git push --mirror https://github.com/cloud-pi/drbd-docker-plugin.git

  9. Win10 提升系统响应速度

    转载百度经验: https://jingyan.baidu.com/article/54b6b9c0e9d61e2d583b4719.html 1.鼠标左键点击开始按钮,然后点击菜单中的设置,进入设置 ...

  10. Opencv threshold

    图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果.在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓 ...