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')
        

 

posted @ 2020-06-21 10:58  H年轻的心  阅读(24)  评论(0)    收藏  举报