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 首次导入模块会发生的事 会触发模块的运行,产生一个模块的名称空间 将运行模块文件过程中产生的名字丢到模块额名称空间 在当前名称空间产生一个名字 ...
随机推荐
- Lab 3-1
Analyze the malware found in the file Lab03-01.exe using basic dynamic analysis tools. Questions and ...
- LeetCode--012--整数转罗马数字(java)
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...
- ES7: 展开语法spread syntax:
第一次遇到: payload = {...payload, manufacturer: state.manufacturers.filter(x => x._id === payload.man ...
- AT2112 Non-redundant Drive
题目:https://www.luogu.org/problemnew/show/AT2112 对于这种找路径的就直接上点分治就好. 分治时,算出每一个点到分治重心的后能剩多少油,从分治重心走到每个点 ...
- MySQL事务(一)
一.基本介绍 事务就是一组dml语句,这些语句存在逻辑上的相关性,这一组dml语句要么全部成功,要么全部失败,是一个整体.ACID属性(原子性,一致性,隔离性,持久性):mysql提供一种机制,保证我 ...
- selenium chrome 自动加载flash
#coding:utf-8from selenium import webdriverfrom selenium.webdriver.support.select import Selectfrom ...
- Financiers Game CodeForces - 737D (博弈论)
直接暴力区间DP的话是$O(n^3)$, 关键注意到每步走的距离差不超过1, 所以差最大是$O(\sqrt{n})$的, 所以实际上有用的状态是$O(n^2)$的, 可以通过.
- JAVA 两个对象不同为什么他们的hashcode有可能相同
hashCode是所有java对象的固有方法,如果不重载的话,返回的实际上是该对象在jvm的堆上的内存地址,而不同对象的内存地址肯定不同,所以这个hashCode也就肯定不同了.如果重载了的话,由于采 ...
- maven聚合工程tomcat插件启动没有 Starting ProtocolHandler ["http-bio-8081"]
Starting ProtocolHandler ["http-bio-8081"]无法显示,一般有三个原因: (1)数据库连不上: (2)注册中心连不上(我这里用的是zookee ...
- 《高性能SQL调优精要与案例解析》——10.4_SQL语句改写部分文档
应各位读者要求,现将<高性能SQL调优精要与案例解析>中<10.4 SQL语句改写>部分整理成电子文档,上传至群共享文件(群号:298176197): 或者通过如下链接下载: ...