ElementTree

方式 一:
from xml.etree import ElementTree as ET


# 创建根节点
root = ET.Element("famliy")


# 创建节点大儿子
son1 = ET.Element('son', {'name': '儿1'})
# 创建小儿子
son2 = ET.Element('son', {"name": '儿2'})

# 在大儿子中创建两个孙子
grandson1 = ET.Element('grandson', {'name': '儿11'})
grandson2 = ET.Element('grandson', {'name': '儿12'})
son1.append(grandson1)
son1.append(grandson2)


# 把儿子添加到根节点中
root.append(son1)
root.append(son1)

tree = ET.ElementTree(root)
tree.write('oooo.xml',encoding='utf-8', short_empty_elements=False)

方式二:

from xml.etree import ElementTree as ET

# 创建根节点
root = ET.Element(“famliy”)

# 创建大儿子
# son1 = ET.Element(‘son’, {‘name’: ‘儿1’})
son1 = root.makeelement(‘son’, {‘name’: ‘儿1’})
# 创建小儿子
# son2 = ET.Element(‘son’, {“name”: ‘儿2’})
son2 = root.makeelement(‘son’, {“name”: ‘儿2’})

# 在大儿子中创建两个孙子
# grandson1 = ET.Element(‘grandson’, {‘name’: ‘儿11’})
grandson1 = son1.makeelement(‘grandson’, {‘name’: ‘儿11’})
# grandson2 = ET.Element(‘grandson’, {‘name’: ‘儿12’})
grandson2 = son1.makeelement(‘grandson’, {‘name’: ‘儿12’})

son1.append(grandson1)
son1.append(grandson2)

# 把儿子添加到根节点中
root.append(son1)
root.append(son1)

tree = ET.ElementTree(root)
tree.write(‘oooo.xml’,encoding=’utf-8′, short_empty_elements=False)

方式三:

复制代码

from xml.etree import ElementTree as ET


# 创建根节点
root = ET.Element("famliy")


# 创建节点大儿子
son1 = ET.SubElement(root, "son", attrib={'name': '儿1'})
# 创建小儿子
son2 = ET.SubElement(root, "son", attrib={"name": "儿2"})

# 在大儿子中创建一个孙子
grandson1 = ET.SubElement(son1, "age", attrib={'name': '儿11'})
grandson1.text = '孙子'


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

由于原生保存的XML时默认无缩进,如果想要设置缩进的话, 需要修改保存方式:

复制代码

from xml.etree import ElementTree as ET
from xml.dom import minidom


def prettify(elem):
    """将节点转换成字符串,并添加缩进。
    """
    rough_string = ET.tostring(elem, 'utf-8')
    reparsed = minidom.parseString(rough_string)
    return reparsed.toprettyxml(indent="\t")

# 创建根节点
root = ET.Element("famliy")


# 创建大儿子
# son1 = ET.Element('son', {'name': '儿1'})
son1 = root.makeelement('son', {'name': '儿1'})
# 创建小儿子
# son2 = ET.Element('son', {"name": '儿2'})
son2 = root.makeelement('son', {"name": '儿2'})

# 在大儿子中创建两个孙子
# grandson1 = ET.Element('grandson', {'name': '儿11'})
grandson1 = son1.makeelement('grandson', {'name': '儿11'})
# grandson2 = ET.Element('grandson', {'name': '儿12'})
grandson2 = son1.makeelement('grandson', {'name': '儿12'})

son1.append(grandson1)
son1.append(grandson2)


# 把儿子添加到根节点中
root.append(son1)
root.append(son1)


raw_str = prettify(root)

f = open("xxxoo.xml",'w',encoding='utf-8')
f.write(raw_str)
f.close()

ElementTree

#!/usr/bin/env python
#-*-coding:utf-8-*-
from xml.etree import ElementTree as ET
#第一种创建ElementTree的方法
root1=ET.Element("family",{'age':'18'})
root1.text="hello"
element1 = ET.Element("family",{'age':"1"})
root1.append(element1)

tree1 = ET.ElementTree(root1)
tree1.write("out.xml")


#第二种创建ElementTree的方法
#创建根结点
root2 = ET.Element("family",{'age':'2333'})

#
son1 = root2.makeelement("family",{'age':'111'})
son2 = root2.makeelement("family",{'age':'222'})

root2.append(son1)
root2.append(son2)

gson1 = son1.makeelement("familygson111111111",{"age":"2333"})

tree2 = ET.ElementTree(root2)
son1.append(gson1)
tree2.write("out2.xml")



#tree2.write("out2.xml")

#第三种创建ElementTree的方法
root3 = ET.Element("family",{'age':'333'})

son1 = ET.SubElement(root3,"family",{'age':"333"})
son2 = ET.SubElement(son1,"familyson2",{'age':'33333'})

tree3 = ET.ElementTree(root3)
tree3.write("out3.xml")

极速Web访问系统

一、现状:

1,三大运营商互联并不是特别的通畅

2,高的带宽并不一定能给用户带来极速浏览页面的最佳体验,这对于高带宽来讲是一种浪费

二、想法:

1,根据Web访问的原理,将各个环节进行预处理

三、python来实现?

json

s = ‘{“desc”:”invilad-citykey”,”status”:1002}’

l=”[11,22,33,44]”


import json

result = json.loads(s)

print(result,type(result))

json.loads 用于将字典、列表、元组形式的字符串,转换成相应的字典、列表,元组


所有语言里面双引号肯定是字符串

S 里面如果是字符串类型的,必须是双引号

外面可以用单引号。




user_list=["alex","eric","tomy"]
s = json.dumps(user_list)
print(s,type(s))