day22-python之模块
程序员文章站
2022-05-14 12:51:59
1.os 2.xml解析 3.json & pickle 4.eval 5.sys ......
1.os
1 import os 2 3 # print(os.getcwd()) 4 # os.chdir("..") 5 # print(os.getcwd()) 6 7 # os.makedirs('dirname1/dirname2') 8 # os.removedirs("dirname1/dirname2") 9 # print(os.listdir()) 10 # print(os.stat("test.py")) 11 12 # print(os.system("dir")) 13 # 14 # print(os.path.split(r"c:\users\administrator\脱产三期\day22\sss.py")) 15 # print(os.path.dirname(r"c:\users\administrator\脱产三期\day22\sss.py")) 16 # print(os.path.basename(r"c:\users\administrator\脱产三期\day22\sss.py")) 17 a="c:\users\administrator" 18 b="脱产三期\day22\sss.py" 19 # 20 os.path.join(a,b)# 路径拼接
2.xml解析
1 # import xml.etree.elementtree as et 2 3 4 5 # tree = et.parse("../day22/xml_lesson.xml") 6 # root = tree.getroot() 7 # print(root.tag) 8 9 10 # for i in root: 11 # 12 # # print(i.tag) 13 # # print(i.attrib) 14 # for j in i: 15 # # print(j.tag) 16 # # print(j.attrib) 17 # print(j.text) 18 19 20 21 22 # # 遍历xml文档 23 # for child in root: 24 # # print(child.tag, child.attrib) 25 # for i in child: 26 # print(i.tag, i.text) 27 28 # 只遍历year 节点 29 # for node in root.iter('year'): 30 # print(node.tag, node.text) 31 # # --------------------------------------- 32 33 # import xml.etree.elementtree as et 34 # 35 # tree = et.parse("../day22/xml_lesson.xml") 36 # root = tree.getroot() 37 38 # 修改 39 # for node in root.iter('year'): 40 # new_year = int(node.text) + 1 41 # node.text = str(new_year) 42 # node.set("updated", "no") 43 # # 44 # tree.write("../day22/xml_lesson.xml") 45 # 46 # 删除node 47 # for country in root.findall('country'): 48 # rank = int(country.find('rank').text) 49 # if rank > 50: 50 # root.remove(country) 51 # 52 # tree.write('output.xml') 53 54 55 import xml.etree.elementtree as et 56 57 new_xml = et.element("namelist") 58 # 59 name = et.subelement(new_xml, "name", attrib={"enrolled": "yes"}) 60 age = et.subelement(name, "age", attrib={"checked": "no"}) 61 sex = et.subelement(name, "sex") 62 sex.text = '33' 63 name2 = et.subelement(new_xml, "name", attrib={"enrolled": "no"}) 64 age = et.subelement(name2, "age") 65 age.text = '19' 66 67 68 69 et = et.elementtree(new_xml) # 生成文档对象 70 et.write("test1.xml", encoding="utf-8", xml_declaration=true) 71 72 et.dump(new_xml) # 打印生成的格式
3.json & pickle
1 # dic='{"name":"alex"}' 2 # f=open("hello","w") 3 # f.write(dic) 4 # 5 # f_read=open("hello","r") 6 # data=f_read.read() 7 # print(type(data)) 8 # data=eval(data) 9 # print(data["name"]) 10 11 import json 12 13 14 # dic={'name':'alex'}#---->{"name":"alex"}----->'{"name":"alex"}' 15 # i=8 #---->'8' 16 # s='hello' #---->"hello"------>'"hello"' 17 # l=[11,22] #---->"[11,22]" 18 # # 19 # f=open("new_hello","w") 20 # 21 # dic_str=json.dumps(dic) 22 # f.write(dic_str) #json.dump(dic,f) 23 24 25 26 # f_read=open("new_hello","r") 27 # data=json.loads(f_read.read()) # data=json.load(f) 28 # 29 # # 30 # print(data["name"]) 31 # print(data) 32 # print(type(data)) 33 34 # print(s) 35 # print(type(s)) 36 37 38 # data=json.dumps(dic) 39 40 # print(data) #{"name": "alex"} 41 # print(type(data)) 42 43 44 #注意: 45 # import json 46 # 47 # with open("hello","r") as f: 48 # data=f.read() 49 # data=json.loads(data) 50 # print(data["name"]) 51 52 #----------------------pickle------- 53 # import pickle 54 55 # dic = {'name': 'alvin', 'age': 23, 'sex': 'male'} 56 57 # print(type(dic)) # <class 'dict'> 58 # 59 # j = pickle.dumps(dic) 60 # print(type(j)) # <class 'bytes'> 61 # 62 # f = open('../day22/序列化对象_pickle', 'wb') # 注意是w是写入str,wb是写入bytes,j是'bytes' 63 # f.write(j) # -------------------等价于pickle.dump(dic,f) 64 # 65 # f.close() 66 # # -------------------------反序列化 67 # import pickle 68 # 69 # f = open('../day22/序列化对象_pickle', 'rb') 70 # # 71 # data = pickle.loads(f.read()) # 等价于data=pickle.load(f) 72 # 73 # print(data['age']) 74 # # -------------------------shelve模块--------- 75 import shelve 76 # 77 f = shelve.open(r'shelve1.bak') # 目的:将一个字典放入文本 f={} 78 # 79 f['stu1_info']={'name':'alex','age':'18'} 80 f['stu2_info']={'name':'alvin','age':'20'} 81 f['school_info']={'website':'oldboyedu.com','city':'beijing'} 82 f.close() 83 84 print(f.get('stu1_info')['age']) 85 86 87 88 # dic={} 89 # 90 # dic["name"]="alvin" 91 # dic["info"]={"name":"alex"}
4.eval
1 print(eval("12+(34*6+2-5*(2-1))"))
5.sys
1 import sys 2 # # print(sys.argv) 3 # 4 # command=sys.argv[1] 5 # path=sys.argv[2] 6 # 7 # if command=="post": 8 # pass 9 # 10 # elif command=="get": 11 # pass 12 # 13 import time 14 for i in range(100): 15 sys.stdout.write("#") 16 time.sleep(0.1) 17 sys.stdout.flush()
上一篇: Django | 页面数据的缓存与使用
下一篇: 装饰器&生成器&迭代器&推导式