Json模块、logging模块、xml模块
一、json模块
1.json.loads()用于将字典、列表、元组形式的字符串转换成相应的字典、列表、元组==》
json.loads():字符创-->python数据类型 loads()里面的字符串必须是双引号
2.json.dumps()用于将字典、列表、元组格式转换成字符创
json.dumps():python数据类型-->字符串
3.json.load()
4.json.dump()
1 #! /usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:Alex Wen 4 5 import urllib 6 from urllib import request 7 import json 8 f = request.urlopen("http://www.baidu.com") 9 #result = f.read().decode("utf-8") 10 dic = '{"key1":"v1","key2":"v2"}' 11 # print(result) 12 s = json.loads(dic) # json.loads()里面的字符串里面的元素必须是双引号,因为在别的语言需要是双引号。 13 print(s)
二、xml模块简述
1 #! /usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 ''' 5 二、XML的读取和创建 6 1.读取 7 a.先将模块导入 8 from xml.tree import ElementTree as ET 9 b.创建ElementTree对象,使用pase方法: 10 tree = ET.parse('xxx.xml') 11 root = tree.getroot() # 获取对象的根节点 12 获取根节点后可以进行文件操作: 13 for node in root: 14 print(node.tag, node.text, node.attrib) # 获取根节点下面的子节点的tag(标签),text(文本),attrib(属性) 15 c.使用open方法读取: 16 # 打开xml文件,读取文件内容 17 str_xml = open('xxx.xml', 'r').read() 18 # 使用ElementTree模块的XML方法解析xml内容,返回xml的根节点 19 root = ET.XML(str_xml) 20 print(root.tag) # 打印顶层标签 21 获取到标签后就可以对其做相应的操作了 22 2.增删改查 23 root.set('name', 'alex') # 增加属性,如果要想在子节点中增加则需要到指定节点中 24 for node in root.iter('year'): 25 son = node.makeElement('family', {'name': 'gouzi'}) 26 root.append(son) 27 del node.attrib(name) # 删除node节点的属性name 28 3.保存文件 29 a.如果以open()方法打开的话,需要创建一个ElementTree对象来保存,并把需要保存的节点传入到改类中 30 tree = ET.ElementTree(root) 31 tree.write('xxx.xml', encoding='utf-8') 32 b.如果是以parse()方法打开的,则可以直接使用该对象去write 33 4.创建一个xml 34 a.使用Element对象创建 35 root = ET.Element('family') 36 son = ET.Element('son', {'name': 'gouzi'}) 37 son1 = ET.Element('son1', {'name': 'ergouzi'}) 38 root.append(son) 39 root.append(son1) 40 b.使用makeelement()方法 41 root = ET.Element('family') 42 son = ET.makeelement('son', {'name': 'gouzi'}) 43 son1 = ET.makeelement('son1', {'name': 'ergouzi'}) 44 root.append(son) 45 root.append(son1) 46 47 c.使用SubElement()方法创建,此方法不用手动去添加,方法里面已经接受了一个父节点 48 root = ET.Element('family1') 49 son = ET.SubElement(root, 'son', attrib={'name': 'gouzi'}) 50 son1 = ET.SubElement(root, 'son1', attrib={'name': 'gouzi1'}) 51 son.text = 'erzi' 52 son1.text = 'erzi1' 53 最后需要保存,因为此时做的一切修改的话都是在内存汇总的 54 tree = ET.Element(root) 55 tree.write('xxx.xml', encoding='utf-8') 56 '''
三、logging模块
#! /usr/bin/env python # -*- coding:utf-8 -*- # Author:Alex Wen import logging logging.basicConfig(filename='log.log', format='%(asctime)s -%(levelname)s:%(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', level='INFO') logging.debug('debug') logging.critical('critical') logging.info('info') logging.error('error') logging.warning('warning') 多日志文件 # 定义文件 file_1_1 = logging.FileHandler('l1_1.log', 'a', encoding='utf-8') fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s") file_1_1.setFormatter(fmt) file_1_2 = logging.FileHandler('l1_2.log', 'a', encoding='utf-8') fmt = logging.Formatter() file_1_2.setFormatter(fmt) # 定义日志 logger1 = logging.Logger('s1', level=logging.ERROR) logger1.addHandler(file_1_1) logger1.addHandler(file_1_2) # 写日志 logger1.critical('1111')

浙公网安备 33010602011771号