1. 程式人生 > >模塊urllib requests json xml configparser 學習筆記

模塊urllib requests json xml configparser 學習筆記

iter gpa get section 根節點 element empty remove pretty

發起http請求 獲取返回值 返回值是字符串

第三方模塊安裝 pip install requests

返回值格式 xml html jaon

json

功能 loads 字符串》》》列表 字典 字符串裏面必須是“”,因為其他的編程語言字符串都是“”

dups 列表》》》字符串

xml

from xml.etree import ElementTree as ET
tree = ET.parse(‘1.xml‘)
root = tree.getroot()
print(type(root))
# <class ‘xml.etree.ElementTree.Element‘>
# dir(Element):
# append‘, ‘attrib‘, ‘clear‘, ‘extend‘, ‘find‘, ‘findall‘, ‘findtext‘, ‘get‘, ‘getchildren‘, ‘getiterator‘, ‘insert‘, ‘items‘, ‘iter‘, ‘iterfind‘, ‘itertext‘, ‘keys‘, ‘makeelement‘, ‘remove‘, ‘set‘, ‘tag‘, ‘tail‘, ‘text‘

<class ‘xml.etree.ElementTree.Element‘>

dir(Element):

append‘, ‘attrib‘, ‘clear‘, ‘extend‘, ‘find‘, ‘findall‘, ‘findtext‘, ‘get‘, ‘getchildren‘, ‘getiterator‘, ‘insert‘, ‘items‘, ‘iter‘, ‘iterfind‘, ‘itertext‘, ‘keys‘, ‘makeelement‘, ‘remove‘, ‘set‘, ‘tag‘, ‘tail‘, ‘text‘

from xml.etree import ElementTree as ET
tree = ET.parse(‘1.xml‘)
#ET.parse(添加文件路徑)  ET.Element(文件節點,Element對象)

root = tree.getroot() son = root.makeelement("dat",{"k1":"k2"}) root.append(son) s = son.makeelement("tt",{"ks":"vs"}) son.append(s) tree.write("1.xml")
#添加子節點 孫子節點

添加子節點 孫子節點

from xml.etree import ElementTree as ET
tree = ET.parse(‘1.xml‘)
root = tree.getroot()
son = ET.Element("dat",{"k1":"k2"})
root.append(son)

tree.write("1.xml")
#直接根據類Element創建節點

直接根據類Element創建節點

from xml.etree import ElementTree as ET
tree = ET.parse(‘1.xml‘)
print(tree,type(tree))
from xml.etree.ElementTree import ElementTree  #用pychrm查找類ElementTree
#1   方法paese就是 調用ElementTree類 創建對象
#2 方法getroot 獲取xml跟節點
#3 方法write 將創建的在內存的子節點 寫入文件

#創建XML文檔1
from xml.etree import ElementTree as ET
root = ET.Element("famliy")
son1 = ET.Element(‘son‘,{‘name‘:"er1"})
son2 = ET.Element(‘son‘,{‘name‘:"er2"})
root.append(son1)
root.append(son2)
sun1 = ET.Element(‘sun‘,{‘name‘:"s1"})
sun2 = ET.Element(‘sun‘,{‘name‘:"s2"})
son1.append(sun1)
son2.append(sun2)
tree = ET.ElementTree(root)
tree.write(‘1.xml‘)
# 創建XML文檔2
from xml.etree import ElementTree as ET

root = ET.Element(‘famliy‘)
son1 = ET.SubElement(root,‘sun‘,attrib={‘name‘:"s1"})
son2 = ET.SubElement(root,‘sun‘,attrib={‘name‘:"s2"})
root.append(son1)
root.append(son2)
tree = ET.ElementTree(root)
tree.write(‘2.xml‘,encoding=‘utf-8‘)
# 創建XML文檔3
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)

創建方式(二)

#帶縮進的創建xml 
from xml.etree import ElementTree as ET

root = ET.Element(‘famliy‘)
son1 = ET.SubElement(root,‘sun‘,attrib={‘name‘:"s1"})
son2 = ET.SubElement(root,‘sun‘,attrib={‘name‘:"s2"})
root.append(son1)
root.append(son2)
def MyWrite(root,name):
    from xml.dom import minidom
    rough_string = ET.tostring(root, ‘utf-8‘)
    reparsed = minidom.parseString(rough_string)
    new_str = reparsed.toprettyxml(indent="\t")

    f = open(name, ‘w‘, encoding=‘utf-8‘)
    f.write(new_str)
    f.close()

MyWrite(root,"5.xml")

configparser用於處理特定格式的文件

特定格式
# 註釋1
;  註釋2
 
[section1] # 節點
k1 = v1    # 值
k2:v2       # 值
 
[section2] # 節點
k1 = v1    # 值
import configparser
con = configparser.ConfigParser()
con.read(‘in‘,encoding=‘utf-8‘)
result = con.sections()
print(result)
ret = con.options(‘section1‘)
print(ret)

模塊urllib requests json xml configparser 學習筆記