最近的工作和xml檔案打交道比較多,就想著看能否通過python去修改xml檔案中的屬性值,然後python中果然是有現成的庫可以使用,先來看一段**:
#!/usr/bin/python
try:
import xml.etree.celementtree as et
except importerror:
import xml.etree.elementtree as et
file = open('new.xml', 'w')
file.write('<?xml version="1.0"?>\n')
tree = et.elementtree(file='doc1.xml')
root = tree.getroot()
for item in tree.iter():
print item.tag, item.attrib
try:
if item.attrib['name'] == 'testing':
item.attrib['name'] = 'func_test'
except:
print item.tag, item.attrib
tree.write(file)
file.close()
**說明:
1.try:
import xml.etree.celementtree as et
except importerror:
import xml.etree.elementtree as et
這是乙個讓 python 不同的庫使用相同 api 的乙個比較常用的辦法。還是那句話,你的編譯環境和別人的很可能不一樣,所以這樣做可以防止一些莫名其妙的小問題。注意:從 python 3.3 開始,你沒有必要這麼做了,因為
elementtree
模組會自動尋找可用的 c 庫來加快速度。所以只需要
import
xml.etree.elementtree
就可以了。
2.重新定義了乙個file檔案用來寫最後的輸出檔案,這樣可以把原檔案保留下來,以方便其他的操作;
3.tree.iter()可以用來遍歷xml檔案中的所有元素;
4.for迴圈中還使用乙個try是用來避免沒有該屬性的元素導致的報錯。
Python Python刪除檔案操作
在深度學習研究和工程應用中,我們經常需要製作資料集,對資料集進行清洗,排除髒資料,這時候就需要用到python的刪除檔案操作了。我們必須匯入 os 模組,並執行其 os.remove 函式。我們直接舉乙個例子 假設removefile是乙個set,我們將想要刪除的資料路徑存在裡面 forfile i...
Python Python序列的切片操作
序列 consequence 是 python 中一種資料結構,這種資料結構根據索引來獲取序列中的物件。一般說來,具有序列結構的資料型別都可以使用 index,len,max,min,in,切片。如 a abcdefg print len a 7print max a gprint min a ap...
Python Python中的檔案模式操作
r 讀出 w 寫入 a 追加 模式描述 r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。r 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。rb 以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在...