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"}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章