模块练习

1、random模块

# print(random.random())
# print(random.randint(1,3)) #模拟随机验证码
def make_code(n=5):
res=''
for i in range(n):
s1=str(random.randint(0,9))
s2=chr(random.randint(65,90))
res+=random.choice([s1,s2])
return res
print(make_code(10))

2、模拟打印进度条

 num=30
print('%s%%'%num) #打印进度条
width=50
print(('[%%-%ds]'%width)%'#')
print(('[%%-%ds]'%width)%'##')
print(('[%%-%ds]'%width)%'###')
print(('[%%-%ds]'%width)%'####') def progress(percent,width=50):
if percent > 1:
percent=1
show_str=(('[%%-%ds]'%width)%(int(width*percent)* '#'))
print('\r%s %d%%'%(show_str,int(100*percent)),end=' ') import time,random
recv_size=0
total_size=8097
while recv_size<total_size:
time.sleep(0.5)
recv_size+=1024
percent=recv_size / total_size
progress(percent)

3、shelve模块(序列化)

 import shelve

 #序列化
info1={'age':18,'herght':180,'weight':80}
info2={'age':88,'herght':150,'weight':80} d=shelve.open('db.shv')
d['egon']=info1
d['alex']=info2
d.close() #反序列化
d=shelve.open('db.shv')
print(d['alex'])
print(d['egon'])
d.close() #修改数据
d=shelve.open('db.shv',writeback=True)
# d['alex']['age']=10000
print(d['alex'])
d.close()

4、xml模块

 import xml.etree.ElementTree as ET
tree=ET.parse('a.xml')
root=tree.getroot() #========================================》》查
#三种方式查找节点
res=root.iter('rank')#会在整个树中进行查找,而且是查找所有
for item in res:
# print(item)
print('='*50)
print(item.tag)#标签名
print(item.attrib)#属性
print(item.text)#文本内容 res=root.find('country')#只能在当前元素的下一级进行查找,并且只找到一个就截止
# print(res.tag)
# print(res.attrib)
# print(res.text)
n=res.find('rank')
print(n.attrib) res=root.findall('country')#只能在当前元素的下一级进行查找,
print([item.tag for item in res]) #=====================================》》改
import xml.etree.ElementTree as ET
tree=ET.parse('a.xml')
root=tree.getroot() for year in root.iter('year'):
year.text=str(int(year.text)+10)
year.attrib={'updated':'yes'}
tree.write('a.xml') #===============================》增
import xml.etree.ElementTree as ET
tree=ET.parse('a.xml')
root=tree.getroot() for country in root.iter('country'):
# print('year')
year=country.find('year')
# print(year)
if int(year.text) > 2010:
# print(country.attrib)
# ele=ET.Element('egon')
# ele.attrib={'nb':'yes'}
# ele.text='好'
# country.append(ele)
country.remove(year) tree.write('b.xml')

                                   2018-08-15   22:54:40

python模块汇总练习的更多相关文章

  1. Python模块汇总

    正则模块:re 日期和时间模块:datetime 和time模块 加密模块:hashlib 远程连接模块:paramiko 日志模块:logging 高级函数工具包:functools 多线程: 队列 ...

  2. 2013流行Python项目汇总

    2013流行Python项目汇总 转自:http://www.kankanews.com/ICkengine/archives/102963.shtml Python作为程序员的宠儿,越来越得到人们的 ...

  3. Python资源汇总

    Python 目录: 管理面板 算法和设计模式 反垃圾邮件 资产管理 音频 验证 构建工具 缓存 ChatOps工具 CMS 代码分析和Linter 命令行工具 兼容性 计算机视觉 并发和并行性 组态 ...

  4. 大话python模块与包

    前言 眼看着老掌门年纪越来越大,掌门之位的传承也成了门派中的一件大事.这天,老掌门把小掌门叫到跟前,语重心长地说道:孩子啊,以后你就要继任掌门之位了,我就传授此生所学的绝世功法与你,以后可要悉心学习, ...

  5. Xilinx 常用模块汇总(verilog)【03】

    作者:桂. 时间:2018-05-10  2018-05-10  21:03:44 链接:http://www.cnblogs.com/xingshansi/p/9021919.html 前言 主要记 ...

  6. 老猿Python博文汇总目录--按标题排序

    ☞ ░ 前往老猿Python博文目录 ░ 本部分为老猿CSDN全部博文的汇总(含转载部分),所有文章在此未进行归类,仅按文章标题排序,方便关键字查找.本部分内容将至少以周为单位定期更新,可能不包含发布 ...

  7. Python模块Ⅰ

    Python模块Ⅰ part1 模块的定义/取别名 自定义模块 什么是模块:模块的本质就是.py文件,封装语句的最小单位 模块中出现的变量,for循环,if结构,函数定义...称为模块成员 模块的运行 ...

  8. 使用C/C++写Python模块

    最近看开源项目时学习了一下用C/C++写python模块,顺便把学习进行一下总结,废话少说直接开始: 环境:windows.python2.78.VS2010或MingW 1 创建VC工程 (1) 打 ...

  9. Python模块之configpraser

    Python模块之configpraser   一. configpraser简介 用于处理特定格式的文件,其本质还是利用open来操作文件. 配置文件的格式: 使用"[]"内包含 ...

随机推荐

  1. redis数据类型--个人常规用法

    一.String 1.可以容纳最高512M的value. 2.经常用于通过expire来实现自动过期的一些值,直接通过setex 来. 3.通过incrby的方式,来实现value值得增长. 4.执行 ...

  2. pat1067. Sort with Swap(0,*) (25)

    1067. Sort with Swap(0,*) (25) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue G ...

  3. Spring注解之@Lazy注解,源码分析和总结

    一 关于延迟加载的问题,有次和大神讨论他会不会直接或间接影响其他类.spring的好处就是文档都在代码里,网上百度大多是无用功. 不如,直接看源码.所以把当时源码分析的思路丢上来一波. 二 源码分析 ...

  4. 设置VS代码模板

    本文URL:http://www.cnblogs.com/CUIT-DX037/p/6770366.html 打开VS安装目录下:\Microsoft Visual Studio 12.0\Commo ...

  5. iOS多线程系统整理 swift

    多线程   是一个应用程序内多个代码的执行路径,执行线程,同时在同一时间里执行不同的任务. 三种: 1.NSTread 2.Cocoa NSOperation (NSOperation,NSOpera ...

  6. 【Shell脚本学习25】Shell文件包含

    像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本. Shell 中包含脚本可以使用: . filename 或 source filename 两种方式的效果相同,简单起 ...

  7. 《Unity預計算即時GI》笔记:一、基本概念与一些设置

    说明 这篇文章是对<Unity預計算即時GI>这个系列文章的笔记. 基本概念 在Unity裡,可以用兩種不同的技術來計算全域光照GI或光源反射,就是烘焙全域光照(Baked GI)和預計算 ...

  8. C# sftp通过秘钥上传下载

    一.适用场景 我们平时习惯了使用ftp来上传下载文件,尤其是很多Linux环境下,我们一般都会通过第三方的SSH工具连接到Linux,但是当我们需要传输文件到Linux服务器当中,很多人习惯用ftp来 ...

  9. codevs 4052 黎恒健大战YJY

     时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题目描述 Description 现在,黎恒健与YJY由于身处异地,非常迫切地想在最短的时间内相遇,然后干一架.但 ...

  10. HDU1195 双向BFS(或BFS)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1195 , 双向BFS或者直接BFS也可以过. 其实这道题只是单向BFS就可以过的,但是为了练算法,所以 ...