关键词:
一、模块
什么是模块?模块是别人写好的功能放在一个文件里面,分为三种模块:
1.内置模块:安装python解释器的时候一起装上的
2.第三方模块、扩展模块:需要自己安装
3.自定义模块:你写的py文件
二、序列化模块
序列:列表,元组,字符串,bytes
什么叫序列化:把一个数据类型转换成字符串、bytes类型的过程就是序列化
为什么要把一个数据类型序列化?
‘name‘:‘路飞‘, ‘sex‘:‘male‘
当你需要把一个数据类型储存在文件中
当你需要把也给数据类型通过网络传输的时候及不安全的
1.json模块
import json stu = ‘name‘:‘路飞‘, ‘gender‘:‘male‘ ret = json.dumps(stu) # 序列化过程 print(stu, type(stu)) print(ret, type(ret)) # d = json.loads(ret) # 反序列化的过程 # print(‘d-->‘,d,type(d)) # lst = [1,2,3,4,‘aaa‘,‘bbb‘] # ret = json.dumps(lst) # 序列化的过程 # print(lst,type(lst)) # print(ret,type(ret)) # # d = json.loads(ret) # 反序列化的过程 # print(‘d-->‘,d,type(d))
json的优点:
所有的语言都通用
缺点:
只支持非常少的数据类型
在网络操作中,以及多语言环境中,要传递字典、数字、字符串、列表等简单的数据类型的时候使用。
对数据类型的约束很苛刻:
字典的key必须是字符串
只支持:数字,字符串,列表,字典
且所有的字符串都必须是用“”表示
dumps(dic/list) dic/list --> str 序列化方法 loads(str) str --> dic/list 反序列化方法 dump(dic/lst,f) dic/list --> 文件 序列化方法 load(f) 文件 --> dic/list 反序列化方法 多次dump进入文件中的数据load会报错 参数:ensure_ascii=False 希望序列化的中文能以中文的形式被现实并且写到文件中
(1)方法dump load这两个方法,是完全和文件打交道。
# dic = ‘name‘:‘路飞‘,‘sex‘:‘male‘ # with open(‘json_file‘,‘w‘,encoding=‘utf-8‘) as f: # json.dump(dic,f,ensure_ascii=False) # with open(‘json_file‘,‘r‘,encoding=‘utf-8‘) as f: # dic = json.load(f) # print(dic,dic[‘name‘])
(2)能不能多次向同一个文件中dump?可以,但是不能多次load
# dic = ‘name‘:‘路飞‘,‘sex‘:‘male‘ # with open(‘json_file‘,‘w‘,encoding=‘utf-8‘) as f: # json.dump(dic,f,ensure_ascii=False) # json.dump(dic,f,ensure_ascii=False) # json.dump(dic,f,ensure_ascii=False) # json.dump(dic,f,ensure_ascii=False) # json.dump(dic,f,ensure_ascii=False) # with open(‘json_file‘,‘r‘,encoding=‘utf-8‘) as f: # dic = json.load(f)
(3)有需求要向文件中写入多个字典
# def my_dumps(dic): # with open(‘json_file‘, ‘a‘, encoding=‘utf-8‘) as f: # dic_str = json.dumps(dic) # f.write(dic_str + ‘ ‘) # dic1 = ‘name‘:‘路飞‘,‘sex‘:‘male‘ # dic2 = ‘name‘:‘索隆‘,‘sex‘:‘male‘ # dic3 = ‘name‘:‘山治‘,‘sex‘:‘male‘ # my_dumps(dic1) # my_dumps(dic2) # my_dumps(dic3) # # with open(‘json_file‘,‘r‘,encoding=‘utf-8‘) as f: # for line in f: # dic = json.loads(line.strip()) # print(dic[‘name‘])
(4)json格式化
# import json # data = ‘username‘:[‘李华‘,‘二愣子‘],‘sex‘:‘male‘,‘age‘:16 # json_dic2 = json.dumps(data,sort_keys=True,indent=4,separators=(‘,‘,‘:‘),ensure_ascii=False) # print(json_dic2)
2.pickle
import pickle # class Course(): # def __init__(self,name,price): # self.name = name # self.price = price # python = Course(‘python‘,29800) # linux = Course(‘linux‘,25800) # mysql = Course(‘mysql‘,18000) # ret = pickle.dumps(python) # print(ret) # p = pickle.loads(ret) # print(p.name,p.price) # with open(‘pickle_file‘,‘wb‘) as f: # pickle.dump(python,f) # with open(‘pickle_file‘,‘rb‘) as f: # course = pickle.load(f) # print(course.name)
pickle的dump,load 操作文件必须以+b模式打开。
在load的时候,如果这个要被load的内容所在的类不在内存中,会报错。
pickle支持多次dump和多次load(需要异常处理)
pickle的多次dump
# def my_dump(course): # with open(‘pickle‘,‘ab‘) as f: # pickle.dump(course,f) # my_dump(python) # my_dump(linux) # my_dump(mysql) # with open(‘pickle‘,‘rb‘) as f: # while True: # try: # content = pickle.load(f) # print(content.name) # except EOFError: # break
常用模块
阅读目录认识模块什么是模块模块的导入和使用常用模块一collections模块时间模块random模块os模块sys模块序列化模块re模块常用模块二hashlib模块configparse模块logging模块认识模块 返回顶部什么是模块什么是模块? ... 查看详情
常用模块知识
阅读目录认识模块什么是模块模块的导入和使用常用模块一collections模块时间模块random模块os模块sys模块序列化模块re模块常用模块二hashlib模块configparse模块logging模块 返回顶部collections模块在内置数据类型(dict、list、set、tupl... 查看详情
第五篇:常用模块
第五篇:常用模块 PYTHON-模块time&datetime+目录规范PYTHON-模块-time&datetime-练习+目录规范PYTHON-模块sysosrandomshutilPYTHON-模块sysosrandomshutil-练习PYTHON-模块jsonpickleshelvexmlPYTHON-模块logginghashlibPY 查看详情
ansible5:常用模块
...具体可以参看官方页面。这里从官方分类的模块里选择最常用的一些模块进行介绍。一、ping模块 查看详情
saltstack常用的模块(代码片段)
SaltStack常用的模块文章目录SaltStack常用的模块SaltStack模块介绍SaltStack常用模块SaltStack常用模块之networknetwork.active_tcpnetwork.calc_netnetwork.connectnetwork.default_routenetwork.get_fqdnnetwork.get_hostnamenetwork.get_rou 查看详情
saltstack常用的模块(代码片段)
SaltStack常用的模块文章目录SaltStack常用的模块SaltStack模块介绍SaltStack常用模块SaltStack常用模块之networknetwork.active_tcpnetwork.calc_netnetwork.connectnetwork.default_routenetwork.get_fqdnnetwork.get_hostnamenetwork.get_rou 查看详情
模块划分常用架构
总结出来五个常用的模块交互架构,读者在进行项目设计时,可结合明德扬模块划分原则,参照“模块划分常用架构”进行模块划分。 §6.1直接交互架构直接交互不需要模块B反馈,模块A直接发送数据。一般应用于下游模块... 查看详情
常用模块
一time模块二random模块三os模块四sys模块五shutil模块六json&pickle模块七shelve模块八xml模块九configparser模块十hashlib模块十一logging模块十二re模块十三HTMLParser模块十四suprocess模块十五requests模块一time模块 在Python中,通常有这几... 查看详情
ansible5:常用模块
...具体可以参看官方页面。这里从官方分类的模块里选择最常用的一些模块进行介绍。一、ping模块测试主机是否是通的,用法很简单,不涉及参数: ansible test&nbs 查看详情
常用模块
阅读目录一time与datetime模块二random模块三os模块四sys模块五shutil模块六json&pickle模块七shelve模块八xml模块九configparser模块十hashlib模块十一suprocess模块十二logging模块十三re模块一time与datetime模块在Python中,通常有这几种方式来表... 查看详情
15-常用模块
目录:time,random,os,sys,shutil,json&pickle,shelve,xml,configparser,hashlib,suprocess,logging,re, 常用模块 常见模块的分类:内置模块自定义模块第三方模块 random随机数random.random():random.randint():random.randrange 查看详情
常用模块--
一time模块二random模块三os模块四sys模块五shutil模块六json&pickle模块七shelve模块八xml模块九configparser模块十hashlib模块十一suprocess模块十二logging模块十三re模块一time模块在Python中,通常有这几种方式来表示时间:时间戳(timestamp)... 查看详情
常用模块-datetime模块(代码片段)
...datetime是Python处理日期和时间的标准库。1、datetime模块中常用的类:类名功能说明date日期对象,常用的属性有year,month,daytime时间对象datetime日期时间对象,常用的属性有hour,minute,second2、datetime模块中包含的常量常量功能说明用法... 查看详情
ansibleplaybooks入门和编写规范ansibleplaybooks常用模块介绍常用模块集合
...服务器) 执行Playbooks 二、AnsiblePlaybooks常用模块介绍(模块在main.yml中使用)1.File模块:在目标主机创建文件 查看详情
ansibleplaybooks入门和编写规范ansibleplaybooks常用模块介绍常用模块集合
...服务器) 执行Playbooks 二、AnsiblePlaybooks常用模块介绍(模块在main.yml中使用)1.File模块:在目标主机创建文件 查看详情
常用模块二(configparser
常用模块二hashlib模块configparse模块logging模块 常用模块二 返回顶部hashlib模块Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数... 查看详情
ansible概述及常用命令模块(代码片段)
Ansible概述及常用命令模块一、Ansible概述特点二、部署ansible1.使用yum安装epel源和ansible2.配置主机清单3.配置密钥对验证三、ansible常用命令行模块1.command模块2.shell模块3.cron模块4.user模块5.group模块6.copy模块7.file模块8.hostname模块9.ping... 查看详情
ansible概述及常用命令模块(代码片段)
Ansible概述及常用命令模块一、Ansible概述特点二、部署ansible1.使用yum安装epel源和ansible2.配置主机清单3.配置密钥对验证三、ansible常用命令行模块1.command模块2.shell模块3.cron模块4.user模块5.group模块6.copy模块7.file模块8.hostname模块9.ping... 查看详情