json
正規表示式(regularexpression,re)
re練習
xpath
根元素(乙個檔案內只有乙個根元素)
子元素屬性內容
注釋
#可以
#不可以,注釋在標籤內
#可以,注釋內容可以有乙個短橫線
#不可以,雙短橫線只能出現在開頭或結尾
#可以,三短橫線只能出現在開頭
#不可以,三短橫線只能出現在開頭
yingyu
232018
1-23-1
yingyu
232018
1-23-1
yingyu
232018
1-23-1
domminidom
etree
import xml.etree.elementtree
root = xml.etree.elementtree.parse("student.xml")
print("利用getiterator訪問:")
nodes = root.getiterator()
for node in nodes:
print("--".format(node.tag,note.text))
print("利用find和findall方法:")
ele_teacher = root.find("teacher")
print("--".format(ele_teacher.tag,ele_teacher.text))
ele_stus = root.findall("teacher")
for ele in ele_stus:
print("--".format(ele.tag,ele.text))
for sub in ele.getiterator():
if sub.tag == "name":
if "other" in sub.attrib.keys():
print(sub.attrib['other'])
xml檔案寫入
import xml.etree.elementtree as et
tree = et.parse(r'to_edit.xml')
root = tree.getroot()
for e in root.iter('name'):
print(e.text)
for stu in root.iter('student'):
name = stu.find('name')
if name != none:
name.set('test',name.text * 2)
stu = root.find('student')
#生成乙個新的元素
e = et.element('adder')
e.attrib =
e.text = '我新增的'
#一定要把修改好的內容寫回檔案,否則無效
tree.write('to_edit.xml')
生成建立
import xml.etree.elementtree as et
stu = et.element("student")
name = et.subelement( stu,'name')
name.attrib =
name.text = 'tiantiandouxihuanni'
age = et.subelement(stu,'age')
age.text = 18
et.dump(stu)
student=
json和python格式的對應
python for json
python讀取json檔案
import json
# 此時student是乙個dict格式內容,不是json
student =
print(type(student))
stu_json = json.dumps(student)
print(type(stu_json))
print("json物件:".format(stu_json))
stu_dict = json.loads(stu_json)
print(type(stu_dict))
ptint(stu_dict)
json文件的讀取也跟python一樣
import json
data =
with open("t.json",'w') as f:
json.dump(data,f)
with open("t.json",'r') as f:
d = json.load(f)
print(d)
驗證乙個數字:^\d$
必須有乙個數字,最少一位:^\d+$
只能出現數字,且位數為5-10位:^\d$
註冊者輸入年齡,要求16歲以上,99歲以下:^[16-99]$
只能輸入英文本元和數字:^[a-za-z0-9]$
驗證qq號碼:[0-9]
chrome外掛程式:xpath helper
firefox外掛程式:xpath checker
- /school/student[1]:選取school下面的第乙個student節點
- /school/student[last()]:選取school下面的最後乙個student節點
- /school/student[last()-1]:選取school下面的倒數第二個student節點
- /school/student[position()<3]:選取school下面的前兩個student節點
- //student[@score]:選取帶有屬性score的student節點
- //student[@score="99"]:選取帶有屬性score並且屬性值是99的student節點
- //student[@score]/age:選取帶有屬性score的student節點的子節點age
結構化 半結構化和非結構化資料
在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化資料 ...
結構化 半結構化和非結構化資料
在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis。mangodb rdbms關聯式資料庫 oracle,mysql等 另一些其他的資料庫如hbase,在這些資料庫中。又會出現結構化資料。非結構化資料。半結構化資料,以下列出各種資料型別 結構化資料 可...
結構化 半結構化和非結構化問題
結構化程度 是指對某一決策問題的決策過程 決策環境和規律,能否用明確的語言 數學的或邏輯學的 形式的或非形式的 定量的或定性的 給予說明或描述清晰程度或準確程度。按照決策問題的結構化程度不同把決策問題分成結構化問題 半結構化問題和非結構化問題三種型別。1 結構化決策問題 結構化決策問題相對比較簡單 ...