第九节: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都能用,但遇 ...
随机推荐
- asp.net core系列 76 Apollo 快速安装模式下填坑和ASP.NetCore结合使用
前言:由于公司占时没有运维,出于微服务的需要,Apollo只能先装在windows 阿里云上跑起来,由于环境及网络等问题,在安装过程中遇到很多坑,算是一个个坑填完后,最终实现. 一. java jdk ...
- python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
今天使用pip安装第三库时,有时会报错: pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='file ...
- DOM中获取元素的节点兼容IE6-8封装,带jquery源码分析children
<ul id="box"> <li>第一个节点</li> <li>第二个节点</li> <li>第三个节点& ...
- 《HelloGitHub》第 48 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...
- 洛谷 P5658 括号树 题解
原题链接 简要题意: 求出以从每个节点到根形成的括号序列的合法对数. 算法一 观察到 \(n \leq 8\) ,所以我们可以用 纯粹的暴力 . 用 \(O(n)\) 时间得出当前节点到根的字符串. ...
- MySQL5.7 import表结构报错超出表空间界限
事后测试了一下,一下方法就是垃圾,看看可以,别跟着学!!! 数据库重启后,问题依然暴露出来了,参数什么的都是扯,擦 记录一个困扰我好几天的问题.先贴上报错: space name jxtms/Cost ...
- 基于 HTML5 WebGL 的故宫人流量动态监控系统
前言 在当代社会,故宫已经成为一个具有多元意义的文化符号,在历史.艺术.文化等不同领域发挥着重要的作用,在国际上也成为能够代表中国文化甚至中国形象的国际符号.近几年故宫的观众接待量逐年递增,年接待量已 ...
- TensorFlow系列专题(六):实战项目Mnist手写数据集识别
欢迎大家关注我们的网站和系列教程:http://panchuang.net/ ,学习更多的机器学习.深度学习的知识! 目录: 导读 MNIST数据集 数据处理 单层隐藏层神经网络的实现 多层隐藏层神经 ...
- .NET 5.0 Preview 2发布
2020年4月2日微软.NET 团队的项目经理 Richard 在博客上 发布了.NET 5 Preview 2:https://devblogs.microsoft.com/dotnet/annou ...
- python中如何在一个for循环中遍历两个列表
`其实就是用zip把两个列表包装起来: for x, y in zip(list1, list2)