20171227

package main

import “fmt”

func swap(x, y string) (string, string) {
     return y, x
}

func main() {
    a, b := swap(“hello”, “world”)
     fmt.Println(a, b)
}

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来实现?