day22模块的补充

#
#sys.path
import sys
print (sys.path)
=================os模块的===================
    import os
    # print(os.getcwd())
    # os.chdir('test1')
    # print(os.getcwd())
    # #os.chdir('./week4/day21/web/web1/web3')
    #
    # #os.makedirs('dirname1/diename2')
    # #os.removedirs('dirname1/diename2')
    # print(os.listdir())
    # print(os.stat('sss.py'))
    # print(os.sep)#输出当前的系统特定的路径分隔符号 win 下为'\\n',linux "/"
    # print(os.linesep)#当前系统的使用的终止符号,win下为“\r\n”,linux "\n"
    # print(os.pathsep)#当前系统的分割符号,win下为; linux 是:
    #print(os.system('dir'))
    # print(os.path.split(r'sss.py'))#
    # print(os.path.split(r'F:\Python\oldboy\week4\day22\test1\sss.py'))
    # print(os.path.dirname(r'F:\Python\oldboy\week4\day22\test1\sss.py'))
    # print(os.path.basename(r'F:\Python\oldboy\week4\day22\test1\sss.py'))
    # #路径拼接 使用join 模块
    # a='F:\Python\oldboy\week4\day22'
    # b='test1\sss.py'
    # print(os.path.join(a,b))
    # import sys
    # print(sys.argv)
    # commend=sys.argv
    # path=sys.argv[2]
    # if commend == 'post':
    #     pass
    # elif commend == 'get':
    #     pass
    #
    # sys.stdout.write("#")
    import sys
    import time
    for i in range(100):
        sys.stdout.write("***")
        time.sleep(0.1)
        sys.stdout.flush()
==========================xml模块的功能===============
    import xml.etree.ElementTree as ET
    # tree=ET.parse("xml_lesson")#parse  解析
    # root=tree.getroot()
    # print(root.tag)
    # for i in root:
    #     print(i.tag)
    #     print(i.attrib)
    #     for j in i:
    #         print(j.tag)
    #         print(j.attrib)
    #         print(j.text)
    # #遍历xml文档
    # for child in root:
    #     print(child.tag,child.attrib)
    #     for i in child:
    #         print(i.tag,i.text)
    # #只遍历year
    # for node in root.iter('year'):
    #     print(node.tag,node.text)

    #修改
    # tree=ET.parse("xml_lesson")#parse  解析
    # root=tree.getroot()
    # for node in root.iter('year'):
    #     new_year=int(node.text)+1
    #     node.text=str(new_year)
    #     node.set('updated',"yes")
    # tree.write("xmltest.xml")
    #
    #
    # #删除node
    #
    # for country in root.findall('country'):
    #     rank=int(country.find('rank').text)
    #     if rank >50:
    #         root.remove(country)
    # tree.write("acv.xml")
    #


    #创建xml文件
    new_xml=ET.Element('namelist')#创建根节点

    name=ET.SubElement(new_xml,'age',attrib={'enrolled':'yes'})
    age=ET.SubElement(name,'age',attrib={'checked':'no'})
    sex=ET.SubElement(name,'sex')
    sex.text='22'
    name2=ET.SubElement(new_xml,'name',attrib={'enrolld':'no'})
    age=ET.SubElement(name2,'age')
    age.text='19'


    et = ET.ElementTree(new_xml)  # 生成文档对象
    et.write("test.xml", encoding="utf-8", xml_declaration=True)

    #ET.dump(new_xml)  # 打印生成的格式


================re模块的功能介绍==============
    s='helloagagahgahsh'
    ass='LISTEN     0      50                       :::2504                    :::*      users:(("java",27210,56))'
    #正则是做模糊匹配
    #正则表达式匹配
    #通配符   .....
    import re
    az=re.findall(',.....,',ass)

    sd=str(az).split(",")
    print(sd[1])
    print(sd)
    print(az)
    print(type(az))
    print(az[0])
    #...  代表的是中间的通配符号
    #^ 在字符串开头进行匹配
    #$ 在结尾进行匹配
    #重复符号
    # * 是按照挨着的进行重复,无穷次进行重复 0 到无穷次
    #+ 一到无穷次
    #贪婪匹配,按照最多的方式进行匹配
    # ? 重复零次或者一次
    #贪婪匹配后面加上?代表是惰性匹配
    # * (0,+00)
    # +  (1,+00)
    #?  (0,1)
    #{}   {}是万能的
    #{3}  前边的重复3次
    #{1,3} 重复1到3次
    #【】 代表里面有三种字符是特殊的,其他的都是正常的,——
    #q【a-z】 代表的是qa-qz里面任意的
    #q[0-9] q0-q9
    #

    fg=re.findall('','12+(3486)')
    #字符集 具有转义的作用
    #\是专业功能
    #() 分组功能

==========================json&pickle模块的功能===============
    # dic='{"name":"alex"}'
    # f=open("hello","w")
    # f.write(dic)

    # f_read=open("hello","r")
    # data=f_read.read()
    # print(type(data))
    # data=eval(data)
    # print(data["name"])

    # import json
    #
    #
    # dic={'name':'alex'}#---->{"name":"alex"}----->'{"name":"alex"}'
    # i=8                 #---->'8'
    # s='hello'          #---->"hello"------>'"hello"'
    # l=[11,22]           #---->"[11,22]"
    #
    # f=open("new_hello","w")

    # dic_str=json.dumps(dic)
    # f.write(dic_str)    #json.dump(dic,f)



    # f_read=open("new_hello","r")
    # data=json.loads(f_read.read())      # data=json.load(f)

    #
    # print(data["name"])
    # print(data)
    # print(type(data))

    # print(s)
    # print(type(s))


    # data=json.dumps(dic)
    #
    # print(data)     #{"name": "alex"}
    # print(type(data))


    #注意:
    # import json
    #
    # with open("Json_test","r") as f:
    #     data=f.read()
    #     data=json.loads(data)
    #     print(data["name"])

    #----------------------pickle-------
    import pickle

    # dic = {'name': 'alvin', 'age': 23, 'sex': 'male'}
    #
    # print(type(dic))  # <class 'dict'>

    # j = pickle.dumps(dic)
    # print(type(j))  # <class 'bytes'>
    #
    # f = open('序列化对象_pickle', 'wb')  # 注意是w是写入str,wb是写入bytes,j是'bytes'
    # f.write(j)  # -------------------等价于pickle.dump(dic,f)
    #
    # f.close()
    # # -------------------------反序列化
    # import pickle
    #
    # f = open('序列化对象_pickle', 'rb')
    #
    # data = pickle.loads(f.read())  # 等价于data=pickle.load(f)
    #
    # print(data['age'])
    # # -------------------------shelve模块---------
    import shelve

    f = shelve.open(r'shelve1')  # 目的:将一个字典放入文本 f={}
    #
    f['stu1_info']={'name':'alex','age':'18'}
    f['stu2_info']={'name':'alvin','age':'20'}
    f['school_info']={'website':'oldboyedu.com','city':'beijing'}
    f.close()

    # print(f.get('stu1_info')['age'])


    # dic={}
    #
    # dic["name"]="alvin"
    # dic["info"]={"name":"alex"}


猜你喜欢

转载自blog.csdn.net/qq_37311616/article/details/80574392