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 首次导入模块会发生的事 会触发模块的运行,产生一个模块的名称空间 将运行模块文件过程中产生的名字丢到模块额名称空间 在当前名称空间产生一个名字 ...
随机推荐
- Windows 多用户接续设置
第1步:如果想真正实现多用户接续,请安装角色:remote desktop service.第2步: gpedit.msc,找到“计算机配置”-“管理模板”-“Windows 组件”-“远程桌面服务” ...
- Lua报错:invalid key to 'next'
1.问题产生的原因是,在一个循环里对table中的元素先进行置空操作,再进行增加新元素的操作,就会报这个错误. 2.比如下面的例子:(当中间的函数足够复杂并进行封装了的情况下,不会留意到存在这个问题) ...
- HTML标签使用
`<!-- 什么是HTML 超文本标记语言 由标签(属性和实体组成)和内容组成 --> <!-- 定义文档类型 --> <!DOCTYPE html> <!- ...
- [Win10]安装msi时2503,2502错误及其解决
简述 刚安装了win10系统,在安装TortoiseGit和TortoiseSvn时,这两个软件是.msi后缀的安装文件,在点击安装时老是提示2503,2502错误,因此无法安装上 搜索了下一般都提到 ...
- Linux上rsync配置
一.服务器端配置1.rsyncd.conf文件说明uid = rsync #用户,用来控制用户访问模块目录的读写权限gid = rsync #组,用来控制组访问模块目录的读写权限use ...
- PHP单例模式 demo
<?php class single{ static public $db; private function __construct(){ }; static function getinst ...
- 【洛谷p1926】小书童——蚂蚁大战
f(今天开学第一天) 小书童——蚂蚁大战[传送门] 洛谷算法标签: 这个题要用排序是真的很神奇: 首先我们来理解一下题意:首先蚂蚁们按血量接受打击[魔鬼操作],血量最少的蚂蚁要走到最前面,所以我们可以 ...
- Python安装第三方库,报错超时: Read timed out.
1.安装beautifulsoup4 >pip install beautifulsoup4 报错超时: Read timed out. 2.解决办法:pip --default-timeout ...
- Python之深浅copy与字符编码
一.深浅copy 1. 首先看赋值运算 l1 = [1,2,3,['barry','alex']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['barr ...
- POJ-3041-建图/二分图匹配/网络流
Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 26351 Accepted: 14254 Descr ...