模塊urllib requests json xml configparser 學習筆記
阿新 • • 發佈:2017-11-21
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 學習筆記