python基础七

import xml.etree.ElementTree as ET

# tree = ET.parse("xml_lesson")
# 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)
# # ---------------------------------------

# import xml.etree.ElementTree as ET
#
# tree = ET.parse("xml_lesson")
# 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("xml_lesson")

# 删除node
# for country in root.findall('country'):
#     rank = int(country.find('rank').text)
#     if rank > 50:
#         root.remove(country)
#
# tree.write('output.xml')


# import xml.etree.ElementTree as ET
#创建根节点
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("test.xml", encoding="utf-8", xml_declaration=True)

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

# x = re.findall('alex','aaaalexbbbbb')
# print(x)

# . 是通配符
# x = re.findall('a..x','aaaafzxbbbbb')
# print(x)

# ^ 以什么开头
# x = re.findall('^a..x','aaaxfzxbbbbb')
# print(x)

# $ 以什么结尾
# x = re.findall('a..x$','aaaxfzxbabbx')
# print(x)

# * (0,+00)
# + (1,+00)
x = re.findall('alex*','sfgasalehfugq')
print(x)
x = re.findall('alex+','sfgasalehfugq')
print(x)
# ? (0,1)
x = re.findall('alex?','sfgasalexxhfugq')
print(x)

# {} {0,}==*
#       {1,}==+
#           {0,1}==?
#               {6} {1,6}

x = re.findall('alex{6}','sfgasalexxhfugq')
print(x)

x = re.findall('alex{0,6}','sfgasalexxhfugq')
print(x)

x = re.findall('www[oldboy baidu]','wwwbaidu')
print(x)
# [] 代表或者的意思
x = re.findall('q[a*z]','ksadfkqa')
print(x)
# - 代表范围
x = re.findall('q[a-z]','ksadfkqasqdqssf')
print(x)
# ^ 放入 [] 表示 非
x = re.findall('q[^a-z]*','q11112223333')
print(x)
x = re.findall('\([^()]*\)','12+(32*4+2-4*(3-1))')
print(x)

# \ 表示转译符
#\d [0,9]
#\D 匹配任何非数字字符
#----------------------------------------------
#\b 特殊字符
x = re.findall('I\\b','I am LIST')
print(x)
# r 表示python编译时不对 \ 进行转译,直接通过re进行执行
x = re.findall(r'I\b','I am LIST')
print(x)

#元字符转换
# |
x = re.findall(r'ka|bc','abcdefka|bc')
print(x)
#按照空格或者|进行分割
x = re.split('[ |]','hello abc|def')
print(x)
#会进行两次分割,先a后b
x = re.split('[ab]','abc')
print(x)
#替换 表示替换的次数。
x = re.sub('\d','A','justsee4251ashdjf5423',4)
print(x)

#('justseeAAAAashdjfAAAA', 8)
x = re.subn('\d','A','justsee4251ashdjf5423')
print(x)
#提高效率
com = re.compile('\d+')
x = com.findall('fsdas123344fsdaf')
print(x)
#存入迭代器
x=re.finditer('\d','asdsfasf3123ffasg465465')
print(x)
print(next(x).group())
import logging

# logging.basicConfig(level=logging.DEBUG,
#                     format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
#                     datefmt='%a, %d %b %Y %H:%M:%S',
#                     filename='test.log',
#                     filemode='w')
#
# logging.debug('debug message')
# logging.info('info message')
# logging.warning('warning message')
# logging.error('error message')
# logging.critical('critical message')

# logger = logging.getLogger()
# # 创建一个handler,用于写入日志文件
# fh = logging.FileHandler('test.log')
#
# # 再创建一个handler,用于输出到控制台
# ch = logging.StreamHandler()
#
# formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
#
# fh.setFormatter(formatter)
# ch.setFormatter(formatter)
#
# logger.addHandler(fh) #logger对象可以添加多个fh和ch对象
# logger.addHandler(ch)
#
# logger.debug('logger debug message')
# logger.info('logger info message')
# logger.warning('logger warning message')
# logger.error('logger error message')
# logger.critical('logger critical message')

##################################################
logger1 = logging.getLogger('mylogger')
logger1.setLevel(logging.DEBUG)

logger2 = logging.getLogger('mylogger')
logger2.setLevel(logging.INFO)
# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('test.log')

# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
logger1.addHandler(fh)
logger1.addHandler(ch)

logger2.addHandler(fh)
logger2.addHandler(ch)

logger1.debug('logger1 debug message')
logger1.info('logger1 info message')
logger1.warning('logger1 warning message')
logger1.error('logger1 error message')
logger1.critical('logger1 critical message')

logger2.debug('logger2 debug message')
logger2.info('logger2 info message')
logger2.warning('logger2 warning message')
logger2.error('logger2 error message')
logger2.critical('logger2 critical message')

import re
#此时小括号会存在优先级问题
x = re.findall('(abc)+','abcabcabc')
print(x)
#取消优先级
x = re.findall('(?:abc)+','abcabcabc')
print(x)

你可能感兴趣的:(python基础七)