第九节:os、sys、json、pickle、shelve模块
OS模块:
os.getcwd()获取当前路径
os.chdir()改变目录
os.curdir返回当前目录
os.pardir()父目录
os.makedirs('a/b/c')创建多层目录
os.removedirs()删除多层目录中的空目录
os.mkdir()创建目录
os.listdir()列出文件夹下的所有文件
os.remove()删除文件
os.rename()重命名文件
os.stat()查看文件的所有状态信息
os.sep返回操作系统的路径分隔符
os.linesep返回操作系统的终止符
os.pathsep返回分割文件路径的字符
os.name返回查看平台
os.system()使用系统命令 #使用shell命令获取相关数据,常用
os.environ()查看环境变量
os.path.abspath(path)查看绝对路径
os.path.split(path)将path分割成目录和文件名返回元组
os.path.dirname(path)获取路径的
os.path.basename(path)获取文件名
os.path.exists(path)判断路径是否存在
os.path.isabs(path)判断是否是绝对路径
os.path.isfile(path)判断是否是文件
os.path.isdir()判断是否是目录
os.path.join(path1,path2)目录拼接
os.path.getatime(path)获取文件的访问时间
os.path.getmtime(path)获取文件的修改时间
SYS模块:
sys.path返回模块的搜索路径
sys.exit()退出程序
sys.version获取解释器的版本
sys.platform返回操作系统的平台名称
sys.argv获取执行文件的文件名和参数
sys.stdout.wirte('&')打印内容(做进度条使用)
sys.stdout.flush()刷新内存内容到屏幕
JSON模块:
json.dumps(数据)将数据转换成json字符串,数据中的字符串的引号都转换成了双引号(序列化)
json.dump(dic,f)简化版的将json格式的数据写入文件(只能对于文件操作)
dic = {'name': 'sss', 'age': 22, 'sex': 'male'}
data=json.dumps(dic)#将数据类型转换成字符串,序列化
with open('config.json','w') as f:
f.write(data)#等同于json.dump(data,f)写到文件中 f.write(data)写入文件的内容:{"name": "sss", "age": 22, "sex": "male"} json.dump(data,f)写入文件的内容:"{\"name\": \"sss\", \"age\": 22, \"sex\": \"male\"}"
json.loads()将字符串的转换成数据类型 (反序列化)
json.load(load,f)简化版的将反序列化的数据读出
with open('config.json','r') as f:
data=json.loads(f.read())#等同于json.load(f)反序列化读出文件内容
print(data)
{'name': 'sss', 'age': 22, 'sex': 'male'}
pickle模块:
功能和json一摸一样
但是处理成字节,所以读出和写入的时候需要使用b模式并带上编解码类型 wb或者rb
支持的数据类型更多(函数、类)但是没啥卵用
shelve模块:
f = shelve.open(r.'aaa')#定义一个文件
f=['stu1_info'={'name':'sss'}]存入字典
print(f.get('stu1_info')['name']) 取字典的值
XML模块:(用到的时候再看)
tree=xml.parse('xmltest.xml')
root= tree.getroot()
print(root.tag) 打印对象的标签
root.attrib 获取对象的属性
root.text 获取对象的文本内容
第九节:os、sys、json、pickle、shelve模块的更多相关文章
- 学到了林海峰,武沛齐讲的Day22-完 os sys json pickle shelve XML re
__ file__ ===== 文件路径 os.path.dirname( 路径 )=======到上一层目录 os sys
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- python序列化: json & pickle & shelve 模块
一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...
- day6_python序列化之 json & pickle & shelve 模块
一.json & pickle & shelve 模块 json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进 ...
- 各类模块的粗略总结(time,re,os,sys,序列化,pickle,shelve.#!json )
***collections 扩展数据类型*** ***re 正则相关操作 正则 匹配字符串*** ***time 时间相关 三种格式:时间戳,格式化时间(字符串),时间元组(结构化时间).***`` ...
- Python全栈之路----常用模块----序列化(json&pickle&shelve)模块详解
把内存数据转成字符,叫序列化:把字符转成内存数据类型,叫反序列化. Json模块 Json模块提供了四个功能:序列化:dumps.dump:反序列化:loads.load. import json d ...
- json,pickle,shelve模块,xml处理模块
常用模块学习—序列化模块详解 什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. 为什么要序列化? 你打游戏过程 ...
- json&pickle&shelve模块
之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了 ...
- json & pickle & shelve 模块
JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下: # json序列化 import json,time user={'name':'egon' ...
- Python json & pickle & shelve模块
json & pickle 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇 ...
随机推荐
- django中基于python3.6使用容联发送短信
一. Django基于python3.6使用容联发送短信流程 容联官方的python支持2.7版本,当我们python解释器采用3版本时,需要修改容联接口中的一些参数及方法. 首先去容联官网注册账号, ...
- 优秀DevOps工程师必会的33个面试题
DevOps面试问题 01 您能告诉我们DevOps和Agile(敏捷)之间的根本区别吗? 答:尽管DevOps与敏捷方法(这是最流行的SDLC[Software Development Life C ...
- POJ1144 tarjan+网络中割点与割边的数量
题目链接:http://poj.org/problem?id=1144 割点与割边的数量我们可以通过tarjan的思想从一个点开始对其余点进行访问.访问的顺序构成一棵dfs树,其中根节点到任何一个结点 ...
- hdu1258 dfs 给一个指定的target数和一个数列,要求不重复选择其中的数使得和为target并打印,结果不可重复。
#include<bits/stdc++.h> using namespace std; typedef unsigned int ui; typedef long long ll; ty ...
- 报错:Error instantiating class com.liwen.mybatis.bean.Employee with invalid types () or values ().
实体类默认构造方法是无参构造方法,一旦重写构造方法,默认方法就会变成重写之后的构造方法,所以该错误报的错就是实体类缺少无参构造方法
- OpenAI的GPT-2:用Python构建世界上最先进的文本生成器的简单指南
介绍 "The world's best economies are directly linked to a culture of encouragement and positive f ...
- coding++:高并发解决方案限流技术---漏桶算法限流--demo
1.漏桶算法 漏桶作为计量工具(The Leaky Bucket Algorithm as a Meter)时,可以用于流量整形(Traffic Shaping)和流量控制(TrafficPolici ...
- coding++:TimeUnit 使用
TimeUnit是java.util.concurrent包下面的一个类,表示给定单元粒度的时间段 主要作用 时间颗粒度转换 延时 常用的颗粒度 TimeUnit.DAYS //天 TimeUnit. ...
- coding++:JS数组去重的几种常见方法
一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq ...
- 高并发解决方案限流技术-----使用RateLimiter实现令牌桶限流
1,RateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率.通常可应用于抢购限流防止冲垮系统:限制某接口.服务单位 ...