常用模块 plus
1. os
os.makedirs 创建多级目录
os.mkdir 只能创建一层 如果是多层,上层文件夹必须存在
os.removedirs 删除目录集中所有空文件夹
os.rmdir 删除指定文件夹,必须是空文件夹
os.getcwd 获取当前程序运行的文件夹
os.chdir 更换工作目录
2.os.path 和路径相关的
os.path.split 把文件绝对路径分割 返回元组
os.path.dirname 直接拿到文件绝对路径分割的 文件路径
os.path.basename 直接拿到文件绝对路径分割的 文件名
os.path.exists 判断文件是否存在
os.makedirs("1/2/3") # 创建多级目录
os.mkdir("a/b/c") # 只能创建一层 上层文件夹必须存在
os.mkdir("1/2/3/4")
os.removedirs("1/2/3/4") # 删除目录级中所有空文件夹 os.rmdir("1/2/3/4") # remove rm 指定文件夹删除,必须是空的 os.system("dir") # 执行 cmd命令或shell命令(linux) 返回值是0
print(os.popen("dir").read()) # 执行cmd命令 有返回值 print(os.getcwd()) # 当前程序运行的文件夹 os.chdir("1") # 更换工作目录
print(os.getcwd()) os.path 和路径相关的内容 print(os.path.abspath("1")) # 把相对路径打印绝对路径 把文件绝对路径分割
print(os.path.split("F:\python_workspace_s18\day23 内置模块\\1"))
分割 的前面的文件路径
print(os.path.dirname("F:\python_workspace_s18\day23 内置模块\\1"))
分割的后面的文件名
print(os.path.basename("F:\python_workspace_s18\day23 内置模块\\1")) print(os.path.exists("1")) # 判断是否存在
二.sys 模块
sys.path 找模块的,重点模块的搜索路径 返回列表
import sys print(sys.platform) # 查看平台 假的 骗人的 没用 print(sys.path) # 找模块的 重点.模块的搜索路径 是个列表
三. pickle 模块
pickle 模块 可以把一个对象序列化(dump) 成字节 和反序列化(load) 更便于存放
pickle.dump(obj,f) 把一个对象obj序列化写文文件内 # dumps 在py文件中用 不能跨文件
pickle.laod(f) 从一个文件内,拿出对象 # loads 在py文件中用 不能跨文件
import pickle class Elephant: def __init__(self,name,weight):
self.name = name
self.weight = weight def chi(self):
print(f"{self.name}在吃") e1 = Elephant("小象","1086t")
bs = pickle.dumps(e1) # 把el序列化成字节
print(bs)
el = pickle.loads(bs) # 反序列化
el.chi()
elephant",mode="wb") as f:
pickle.dump(e1,f) # 把对象序列化并写入文件中
pickle.dump(e2,f) with open("elephant",mode="rb") as f:
while 1: # 拿多个 直到没有了
try:
obj = pickle.load(f)
obj.chi()
except Exception:
break lst = [e1,e2]
with open("elephant",mode="wb") as f:
pickle.dump(lst,f) with open("elephant",mode="rb") as f:
obj = pickle.load(f)
for i in obj:
i.chi()
json是一种轻量级数据的数据交换格式
json.dump(obj,f,ensure_ascii=False) 把obj对象转换成json格式写入f文件中 ensure_ascii= 是否以ascii码显示 # dumps 跟pickle的一样
json.load(f) 把f文件中的json格式的转化成 python类型 #loads 跟pickle的一样
import json dic = {"baby":None,"hxm":True,"yy":"杨"} obj = json.dumps(dic,ensure_ascii=False) #
print(obj) j = json.loads('{"baby": null, "hxm": true, "yy": "杨"}')
print(j) with open("jsonn",mode="w",encoding="utf-8") as f:
json.dump(dic,f,ensure_ascii=False)
with open("jsonn", mode="r", encoding="utf-8") as f:
obj = json.load(f)
print(obj)
常用模块 plus的更多相关文章
- atitit 商业项目常用模块技术知识点 v3 qc29
atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...
- 《Ansible权威指南》笔记(3)——Ad-Hoc命令集,常用模块
五.Ad-Hoc命令集1.Ad-Hoc命令集通过/usr/bin/ansible命令实现:ansible <host-pattern> [options] -v,--verbose ...
- python学习笔记(5)--迭代器,生成器,装饰器,常用模块,序列化
生成器 在Python中,一边循环一边计算的机制,称为生成器:generator. 如: >>> g = (x * x for xin range(10)) >>> ...
- 进击的Python【第五章】:Python的高级应用(二)常用模块
Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigPar ...
- Python模块之常用模块,反射以及正则表达式
常用模块 1. OS模块 用于提供系统级别的操作,系统目录,文件,路径,环境变量等 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("di ...
- python学习笔记之常用模块(第五天)
参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...
- day--6_python常用模块
常用模块: time和datetime shutil模块 radom string shelve模块 xml处理 configparser处理 hashlib subprocess logging模块 ...
- Tengine 常用模块使用介绍
Tengine 和 Nginx Tengine简介 从2011年12月开始:Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能 和特性. ...
- Saltstack常用模块及API
Saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能.常用工具支持等,更多模块信息可以查看官网模块介绍.也可以通过sys模块列出当前版本支持的模块. salt '*' sys.list_ ...
- Ansible简介及常用模块
一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...
随机推荐
- DRF的权限和频率
DRF的权限 权限组件源码 权限和频率以及版本认证都是在initial方法里初始化的 我们的权限类一定要有has_permission方法~否则就会抛出异常~~这也是框架给我提供的钩子~~ 在rest ...
- PHP之PDO
PHP之PDO介绍 PDO为何物? POD(PHP Data Object)扩展在PHP5中加入,PHP6中将默认识用PDO连接数据库,所有非PDO扩展将会在PHP6被从扩展中移除.该扩展提供PHP内 ...
- H5外部浏览器直接调起微信——通过url协议 weixin:// 判断是否安装微信及启动微信
前言: h5分享到微信,h5使用微信支付这些功能,都需要先判断是否安装微信客户端,如果已安装就启动微信,如果没有安装微信,就提示用户前去安装. 我们可以通过访问微信提供的URL协议(weixin:// ...
- HDU 1754 I Hate It(线段树区间查询,单点更新)
描述 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感.不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老 ...
- HDU 1166 敌兵布阵(线段树单点更新,区间查询)
描述 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况 ...
- [LeetCode_98]Validate Binary Search Tree
题目链接 https://leetcode.com/problems/validate-binary-search-tree/ 题意 判断给定树是否是BST 思路 根据定义判断.递归. 代码 clas ...
- selenium验证码和错误截图
验证码的识别: 1,破解验证码 OCR识别(一般使用tesseract-ocr) 人工智能(AI机器学习 TensorFlow,成本大) 2,绕过验证码 1, 让开发人员临时关闭验证码 2,提供万能验 ...
- Java05-Java基础语法(四)循环结构
Java05-Java基础语法(四)循环结构 循环结构(重复/迭代):根据条件重复执行部分语句 1.while循环结构 while(条件表达式){ 循环体语句; } 1)语法:a.while是关键字 ...
- AngularJS——第1章 简介
第1章 简介 由谷歌公司开发维护的前端MVC框架,克服了HTML在构建应用上的诸多不足,降低了开发成本,提高了效率. 一个框架 以数据和逻辑作为驱动 AngularJS核心特性:模块化,双数据绑定,语 ...
- Logback报错 no applicable action for [Encoding], current ElementPath is [[configuration][appender][Encoding]]
老版本是0.9,移到springboot项目,解决办法,删除xml配置文件节点<Encoding>UTF-8</Encoding>