day6
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day6相关的知识,希望对你有一定的参考价值。
一、加密模块
1.hashlib
>>> data=hashlib.md5() >>> data.update(b‘hello‘) >>> print data.hexdigest() 5d41402abc4b2a76b9719d911017c592
>>> data=hashlib.sha512() >>> data.update(‘123456‘) >>> print data.hexdigest() ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413
2.hmac
>>> import hmac >>> h=hmac.new(b‘hello‘) >>> h.update(b‘test‘) >>> print h.hexdigest() 0c7490a8663ddd7b947eeec4e2ce85f9
二、执行系统命令
1、os.system 只能返回执行之后的状态码
>>> result=os.system(‘ver‘)
Microsoft Windows [版本 6.1.7601]
>>> result
0
三、持久化
1、json
2、pickle
3、shelve
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
import shelve def shelve_write(): dict1={‘username‘:‘root‘,‘password‘:123,‘host‘:‘localhost‘,‘prot‘:3306} list1=[‘name‘,‘root‘,‘db‘,‘mysql‘] d=shelve.open(‘shelve_test.txt‘) d[‘D1‘]=dict1 #持久化字典 d[‘L1‘]=list1 #持久化列表 d.close() def shelve_read(): d=shelve.open(‘shelve_test.txt‘) print(d[‘D1‘]) #读取字典 print(d[‘L1‘]) #读取列表 shelve_read()
四、xml
xml的格式如下:就是通过<>节点来区别数据结构
<?xml version="1.0"?> <data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year>2008</year> <gdppc>141100</gdppc> <neighbor name="Austria" direction="E"/> <neighbor name="Switzerland" direction="W"/> </country> <country name="Singapore"> <rank updated="yes">5</rank> <year>2011</year> <gdppc>59900</gdppc> <neighbor name="Malaysia" direction="N"/> </country> <country name="Panama"> <rank updated="yes">69</rank> <year>2011</year> <gdppc>13600</gdppc> <neighbor name="Costa Rica" direction="W"/> <neighbor name="Colombia" direction="E"/> </country> </data>
import xml.etree.ElementTree as ET tree=ET.parse(‘test.xml‘) root=tree.getroot() # print root.tag #遍历xml文档 for data in root: print data.tag,data.attrib for i in data: print i.tag,i.text print ‘------‘ #只遍历year节点 for node in root.iter(‘rank‘): print node.tag,node.text # #修改year节点 for node in root.iter(‘year‘): new_year=int(node.text)+20 node.text=str(new_year) node.set(‘update‘,‘yes‘) tree.write(‘xym.xml‘) #删除 for country in root.findall(‘country‘): rank = int(country.find(‘rank‘).text) if rank > 50: root.remove(country) tree.write(‘output.xml‘) #创建xml文档 new_xml = ET.Element("namelist") name = ET.SubElement(new_xml,"name",attrib={"enrolled":"yes"}) age = ET.SubElement(name,"age",attrib={"checked":"no"}) sex = ET.SubElement(name,"sex") sex.text = ‘33‘ name2 = ET.SubElement(new_xml,"name",attrib={"enrolled":"no"}) age = ET.SubElement(name2,"age") age.text = ‘19‘ et = ET.ElementTree(new_xml) #生成文档对象 et.write("test11.xml", encoding="utf-8",xml_declaration=True) ET.dump(new_xml) #打印生成的格式
以上是关于day6的主要内容,如果未能解决你的问题,请参考以下文章