常用模块 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)的优点,实现了批量系统配置. ...
随机推荐
- Selenium 定位元素原理,基本API,显示等待,隐式等待,重试机制等等
Selenium 如何定位动态元素: 测试的时候会遇到元素每次变动的情况,例如: <div id="btn-attention_2030295">...</di ...
- JS 解决json字符串转换成json树形输出
问题: 后台获取一个字符串,格式为 string +jsonList+string+..... 就是传过来一堆数据,然后其中包含了一个json格式的list, 我们希望能将它输出成树形结构显示,能够 ...
- 【转】微信公众号h5网页被嵌入广告 不知道什么原因
这个是因为http劫持导致的.HTTP劫持是在使用者与其目的网络服务所建立的专用数据通道中,监视特定数据信息,提示当满足设定的条件时,就会在正常的数据流中插入精心设计的网络数据报文,目的是让用户端程序 ...
- 唯品会海量实时OLAP分析技术升级之路
本文转载自公众号 DBAplus社群 , 作者:谢麟炯 谢麟炯,唯品会大数据平台高级技术架构经理,主要负责大数据自助多维分析平台,离线数据开发平台及分析引擎团队的开发和管理工作,加入唯品会以来还曾负责 ...
- Asp.net Mvc之Action如何传多个参数
最近,工作上有一个需要:用户查询日志文件信息,查看某一个具体日志信息,可能同时查看该日志所在日期的其他日志信息列表. 为完成此功能,我打算在URL中传入了两个参数,一个记录此日志时间,另外一个记录日志 ...
- 关于界面绘制过程多次回调ondraw()方法产生的问题
最近项目中,出现一个问题,要做成的效果是这样的,但是一进去就变成这样了, 后来发现,刚进去是正常的,一闪而过,就变成全部了. 界面绘制过程,ondraw() 会被多次回调. 就是说在第一次绘制的时候是 ...
- Android View 深度分析requestLayout、invalidate与postInvalidate
前言 前几篇文章中,笔者对View的三大工作流程进行了详细分析,而这篇文章则详细讲述与三大工作流程密切相关的两个方法,分别是requestLayout和invalidate,如果对Viwe的三个工作流 ...
- Linux移植之配置过程分析
在Linux移植之移植步骤中已经将Linux移植的过程罗列出来了,现在分析一下Linux的配置过程,将分析以下两个配置过程: 1.make s3c2410_defconfig分析 2.make men ...
- windbg 边学边记attach 进程和open dump的两个方式查看线程的占用cpu资源
首先我是attach到进程的方式,附加到进程把. vs里边有个远程调试就是通过连接到远程机附加到进程操作的.在 有公网IP情况下挺好用,但涉及到nat穿越之类的,因为用户的不方便设置,这种调试方式也有 ...
- Liunx mv(转)
转竹子—博客:http://www.cnblogs.com/peida/archive/2012/10/27/2743022.html mv命令是move的缩写,可以用来移动文件或者将文件改名(mov ...