1.sys模块

  1. import sys
  2.  
  3. sys.path()#打印系统path
  4. sys.version()#解释程序版本信息
  5. sys.platform()#系统平台
  6.  
  7. sys.exit(0)#退出程序
  8. command=sys.argv[1]#从程序外部获取参数
  9. sys.stdout.write('#')#与print相同,区别是刷进缓存
  10. # 例子
  11. import time
  12. for i in range(10):
  13. sys.stdout.write('#')
  14. time.sleep(1)
  15. sys.stdout.flush() #把缓存刷进显示区

2.json模块

  1. dic="{'name': 'alex'}"
  2. f=open("hello",'w')
  3. f.write(dic)
  4. f.close()
  5. f_read=open('hello','r')
  6. c=f_read.read()
  7. print(c)
  8. print(eval(c))#eval,重新运算求出参数的内容
  9.  
  10. import json
  11. dic={'name':'littlepage'}
  12. doc=json.dumps(dic)#引号全部变成双引号,然后变成字符串
  13. print(doc)
  14. print(type(doc))
  15. f=open('hellod','w')
  16. f.write(doc)
  17. f.close()
  18.  
  19. f_read=open('hellod','r')
  20. data=json.loads(f_read.read())#json来把字符串变成字典
  21. print(type(data))
  22. f_read.close()
  23.  
  24. # 简写
  25. f=open('helloddd','w')
  26. dic={'name':'littlepage'}
  27. doc=json.dump(dic,f)

3.pickle模块

  1. import pickle#比json序列的类型更多
  2. dic={'name':'littlepage','age':20,'gender':'male'}
  3. j=pickle.dumps(dic)#转换成字节
  4. print(type(j))
  5. f=open('hello','wb')
  6. pickle.dump(dic,f)
  7. f.close()
  8. f=open('hello','rb')
  9. print(pickle.loads(f.read()))
  10.  
  11. import pickle#比json序列的类型更多
  12. dic={'name':'littlepage','age':20,'gender':'male'}
  13. j=pickle.dumps(dic)#转换成字节
  14. print(type(j))
  15. f=open('hello','wb')
  16. pickle.dump(dic,f)
  17. f.close()
  18. f=open('hello','rb')
  19. print(pickle.loads(f.read()))

4.shelve

  1. import shelve#操作简单,但是不常用
  2. f=shelve.open(r'she')#将字典放入文本,f相当于一个字典,更加方便,文本存储的是一个键和范围
  3. f['']={"name":'ss'}
  4. f['']='sss'
  5. f.close()
  6. f=shelve.open(r'she')
  7. print(f.get('')['name'])#可以进行获取
  8. print(f.get(''))
  9. f.close()
  10.  
  11. import xml.etree.cElementTree as ET #xml模块,java语言不可替代,python逐渐在用json替代,但目前还在大量使用
  12.  
  13. tree=ET.parse("xml_lesson")#解析xml,xml是树形结构
  14. root=tree.getroot()#获取根节点
  15. print(root.tag)#打印根标签

5.xml

  1. #遍历xml文档
  2. for i in root:
  3. for j in i:
  4. print(j.tag,j.attrib)#tag标签,attribute属性
  5. print(j.text)#值
  6.  
  7. #只遍历year节点
  8. for node in root.iter('year'):
  9. print(node.tag,node.text)
  10.  
  11. #修改
  12. for node in root.iter('year'):
  13. new_year=int(node.text)+1
  14. node.text=str(new_year)#设置文本内容
  15. node.set("updated","yes")#设置属性,属性值
  16.  
  17. tree.write("xmltt.xml")
  18.  
  19. #删除
  20. for country in root.findall('country'):
  21. rank=int(country.find('rank'.text))

Python day19 模块介绍3(sys,json,pickle,shelve,xml)的更多相关文章

  1. 学到了林海峰,武沛齐讲的Day22-完 os sys json pickle shelve XML re

    __ file__    =====   文件路径 os.path.dirname( 路径 )=======到上一层目录 os sys

  2. 模块 - json/pickle/shelve/xml/configparser

    序列化: 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes. 为什么要序列化: 有种办法可以直接把内存数据(eg:10个列表,3 ...

  3. python 序列化及其相关模块(json,pickle,shelve,xml)详解

    什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatter ...

  4. python序列化及其相关模块(json,pickle,shelve,xml)详解

    什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatter ...

  5. Python学习笔记——基础篇【第六周】——json & pickle & shelve & xml处理模块

    json & pickle 模块(序列化) json和pickle都是序列化内存数据到文件 json和pickle的区别是: json是所有语言通用的,但是只能序列化最基本的数据类型(字符串. ...

  6. Python全栈开发记录_第八篇(模块收尾工作 json & pickle & shelve & xml)

    由于上一篇篇幅较大,留下的这一点内容就想在这里说一下,顺便有个小练习给大家一起玩玩,首先来学习json 和 pickle. 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过, ...

  7. python笔记-7(shutil/json/pickle/shelve/xml/configparser/hashlib模块)

    一.shutil模块--高级的文件.文件夹.压缩包处理模块 1.通过句柄复制内容 shutil.copyfileobj(f1,f2)对文件的复制(通过句柄fdst/fsrc复制文件内容) 源码: Le ...

  8. python模块--json \ pickle \ shelve \ XML模块

    一.json模块 之前学习过的eval内置方法可以将一个字符串转成一个python对象,不过eval方法时有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,e ...

  9. 模块(序列化(json&pickle)+XML+requests)

    一.序列化模块 Python中用于序列化的两个模块: json     跨平台跨语言的数据传输格式,用于[字符串]和 [python基本数据类型] 间进行转换 pickle   python内置的数据 ...

随机推荐

  1. SVM计算过程,对偶形式,核函数

    SVM是一个分类方法,用w^X+b定义分类函数, 于是求w.b,为寻最大间隔,引出1/2||w||^2,继而引入拉格朗日因子,化为对单一因数对偶变量a的求解(求解过程中会涉及到一系列最优化或凸二 次规 ...

  2. 安装selenium python

    https://pypi.org/project/selenium/#files selenium-3.13.0-py2.py3-none-any.whl 安装成功后才能用 from selenium ...

  3. testng入门教程2用TestNG编写测试及执行测试

    编写TestNG测试基本上包括以下步骤: 测试和编写业务逻辑,在代码中插入TestNG的注解.. 添加一个testng.xml文件或build.xml中在测试信息(例如类名,您想要运行的组,等..) ...

  4. input的text输入框设置大一点

    <input type="text" style="height:51px;width:449px;font-size:12px;">12可以随意改 ...

  5. C语言typeof详解

    前言:     typeof关键字是C语言中的一个新扩展,这个特性在linux内核中应用非常广泛. 一,说明     typeof的参数可以是两种形式:表达式或类型. 1,表达式的的例子:       ...

  6. PIMPL(二)

    文档下载 上一篇文档,PIMPL(一) 1 如何使用PIMPL 有多种方式实现PIMPL,这里按照<Effective C++>中介绍的方式. 1.1 基本步骤 假设原有Person如下: ...

  7. git克隆代码

    1.vs--team explorer-clone,或者team-connect to tfs-clone 2.1输入git的url,2输入本地放代码的文件夹,3点clone,克隆出4.双击4 3.点 ...

  8. STA分析(七) sdc

    STA分析前的环境设置,包括:setup clocks,specifying IO characteristics 1)定义一个master clock:create_clock -name .. - ...

  9. AutoLayout 的一些坑

    1. 给一个 UIView 加约束,希望它显示在 UITableView 的底部,但是它不显示,它会出现在 UITableView 的顶部. 错误代码: [self.tableView addSubv ...

  10. SQL Server报“GUID应包含带4个短划线的32位数”

    转自:http://www.seayee.net/article/info_106.html 最近在配置一台服务器的MS SQL Server 2005的维护计划自动备份数据库,能创建维护计划,但设置 ...