day23 模块02
核能来袭--模块 2
1.nametuple()
2.os模块
3.sys模块(重点)
4.序列化 (四个函数)
5.pickle(重点)
6.json(重点中的重点)
1.nametuple()
命名元组 -->类似创建了一个类
from collections import nametuple p=nametuple('person',['x','y','z']) # 效果与下面一样
p1=p(10,20,30) class person: # 效果与上面的一样
def __init__(self,x,y,z):
self.x=x
self.y=y
self.z=z
2.os模块
主要是针对操作系统的 ,一般用来操作文件,
os.makedirs()可以一次性创建多级目录
os.makedirs('baby/haha/黄晓明') # 可以一次性创建多级目录
os.mkdir()创建文件,但是上层文件必须存在
os.removedirs() 删除目录级所有的空文件夹
os.removedirs('baby/哈哈/黄晓明') # 删除当前这个目录集中的所有空文件夹
os.rmdir()删除一个文件夹
os.rmdir('baby/哈哈/黄晓明') # 删除指定文件
os.path.dirname()获取到文件的文件夹
# os.path 与路径有关的内容
print(os.path.abspath('文件名')) #把相对路径改为绝对路径
print(os.path.split(r'文件路径'))
print(os.path.dirname(r'文件路径'))
print(os.path.basename(r'文件路径'))
print(os.path.exists(r'路径'))判断路径是否存在?
os.system('dir') 查看目录
3.sys模块(重点)
主要针对的是python解释器中的东西
sys.path(重点中的重点) 模块的查找路径
4.序列化 (四个函数)
把一个对象打散就叫做序列化,
把拍散的内容整合成对象,反序列化
5.pickle(重点)
import pickle
class Exlphant:
def __init__(self,name):
self.name=name def tiaoxi(self):
print(f'{self.name}大象特别喜欢调戏人') e=Explent('宝宝')
#把大象序列化
b=pickle.dumps(e)
#反序列化
bs=pickle.loads(b)
bs.tiaoxi()
1).dumps()把对象序列化成字节
2).loads()把字节反序列化成对象
# 我们写两个大象,我们把它打散写入文件中
e1=Elephant('宝宝')
e2=Elephant('宝贝')
f=open('大象',mode='wb')
pickle.dump(e1,f) # 没有S的这个方法是把对象打散写入到文件,序列化的内容不是给人看的
pickle.dump(e2,f) # 没有S的这个方法是把对象打散写入到文件,序列化的内容不是给人看的 # 方法1
#尝试读这个文件
f=open('大象',mode='rb')
while 1:
try:
e=pickle.load(f)
e.tiaoxi()
except Exception:
break # 方法2
# 写大象
e1=Elephant('宝宝')
e2=Elephant('宝贝')
lst=[e1,e2]
f=open('大象',mode='wb')
pickle.dump(lst,f)
#读大象
f1=open('大象',mode='rb')
s=pickle.load(f1)
for i in s:
i.tiaoxi()
3).dump()把对象序列化写入对象
4).load()把文件中的内容反序列化成对象
6.json(重点中的重点)
#json 其实和python差不多,只是有那么一点点的差距
dic={'name':'吴彦祖','age':20,'hight':178}
json.dumps(dic,ensure_ascii=False)# json处理中文的问题,在里面加一个ensure_ascii=False
#含义是否确认ascii码 f=open('baby.json',mode='w',encoding='utf-8')
json.dump(dic,f,ensure_ascii=False)
f1=open('baby.json',mode='r',encoding='utf-8')
print ( json.load(f1) )
json可以认为是python中的字典,有一点点的不一样
Python : True None False
json: true null false
json中也有pickle的四个函数
1.dumps()把对象序列化成json
2.loads() 把json反序列化成对象
3.dump() 把对象写入文件
4.load()把文件中的内容反序列化成对象
day23 模块02的更多相关文章
- Python模块02/序列化/os模块/sys模块/haslib加密/collections
Python模块02/序列化/os模块/sys模块/haslib加密/collections 内容大纲 1.序列化 2.os模块 3.sys模块 4.haslib加密 5.collections 1. ...
- day23 模块引入的一些说明
模块导入多次也是只导入一次 sys.modules里面会查看有没有被导入 导入后的模块内部的函数,变量就都可以拿来用了 给模块起别名,可以提高代码的兼容性 import time as t 但是被起别 ...
- day 020 常用模块02
主要内容: 什么是序列化 pickle shelve json configparser(模块) 一 序列化 我们在存储数据或者网络传输数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和 传 ...
- day23 模块
1. 模块 1. 首先,我们先看个老生常谈的问题. 什么是模块. 模块就是一个包含了python定义和声 明的文件, 文件名就是模块的名字加上.py后缀. 换句话说我们目前写的所有的py文件都可以 看 ...
- python正则表达式与re模块-02
正则表达式 正则表达式与python的关系 # 正则表达式不是Python独有的,它是一门独立的技术,所有的编程语言都可以使用正则 # 但要在python中使用正则表达式,就必须依赖于python内置 ...
- 爬虫-selenium 模块-02
目录 selenium 模块 chromedriver 浏览器驱动下载与存放 PhantomJS 无界面浏览器 标签元素查找方法 xpath 格式用法 获取标签属性 等待元素被加载 元素交互操作 点击 ...
- python网络编程-socket套接字通信循环-粘包问题-struct模块-02
前置知识 不同计算机程序之间数据的传输 应用程序中的数据都是从程序所在计算机内存中读取的. 内存中的数据是从硬盘读取或者网络传输过来的 不同计算机程序数据传输需要经过七层协议物理连接介质才能到达目标程 ...
- day32 Pyhton 模块02复习 序列化
一. 什么是序列化 在我们存储数据或者网络传输数据的时候. 需要对我们的对象进行处理. 把对象处理成方便存储和传输的数据格式. 这个过程叫序列化 不同的序列化, 结果也不同. 但是目的是一样的. 都是 ...
- day013|python之模块02&目录01
1 from...import 1.1 概念 1.1.1 首次导入模块会发生的事 会触发模块的运行,产生一个模块的名称空间 将运行模块文件过程中产生的名字丢到模块额名称空间 在当前名称空间产生一个名字 ...
随机推荐
- Basic Calculator 基本计算器
2018-09-27 22:02:36 一.Basic Calculator II 问题描述: 问题求解: sign用来保存前一个符号,用num来记录数字,如果碰到一个符号或者到达结尾,则需要进行入栈 ...
- java maven项目 pom.xml plugin 报错, build path 找不到 jconsole-1.8.0.jar 和 tools-1.8.0.jar 包
maven项目pom.xml突然报错,在Java Build Path 中并没有引用的jar包出现在了Maven Dependencies的依赖包中. 这个错误直接导致了pom.xml文件中 < ...
- Ubuntu vim终端常用的快捷键
Ubuntu中常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手.在Ubuntu中打开终端的快捷键是Ctrl+Alt+T.其他的一些常用的快捷 ...
- HeadFIrst Ruby 第二章总结 methods and classes
HeadFIrst Ruby 第二章总结 methods and classes 前言 这一章讲了如何创建自己的 class,并且讲了在用 class 创建 object 的两个要素: instanc ...
- spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象)
spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象) 它的出现原因: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用 ...
- ROC曲线(receiver-operating-characteristic curve)-阈值评价标准(转)
转自:http://blog.csdn.net/abcjennifer/article/details/7359370 ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver ope ...
- 20171104xlVBA制作联合成绩条
Dim dGoal As Object Dim dCls As Object Sub 制作联合成绩条() Dim sht As Worksheet Dim HeadRng As Range Dim H ...
- 微信小程序如何导入字体图标
前提:我们已经拥有了从阿里图标库下载下来的一系列的字体图标文件1:找个其中的ttf格式的文件,然后打开https://transfonter.org/网站2:点击Add fonts按钮,加载ttf格式 ...
- codeforces 848B Rooter's Song 思维题
http://codeforces.com/problemset/problem/848/B 给定一个二维坐标系,点从横轴或纵轴垂直于发射的坐标轴射入(0,0)-(w,h)的矩形空间.给出点发射的坐标 ...
- JSX语法
什么是JSX语法:就是符合 xml 规范的 JS 语法:(语法格式相对来说,要比HTML严谨很多) 1. 如何启用 jsx 语法? 安装 `babel` 插件 - 运行`cnpm i babel-co ...