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.方法

 

 

 

posted @ 2019-04-30 21:08  且行且cherish  阅读(132)  评论(0编辑  收藏  举报