當有一個很大的文件檔,內容幾乎都是相同,只是其中某些變數要取代掉的時候
例如一個很大的XML文件,每次的內容幾乎都一樣,只是有一些傳送對象
時間、ID、敘述的部分可能不一樣的時候,這時候使用正規的xml就顯得很麻煩
這時候就很適合使用Template將XML中這幾個內容進行替換。
首先先建立一個範例的文件檔sample.xml,其中要更換的內容則使用${XX}作為標記
?xml version="1.0" encoding="utf-8" ?>
<catalog>
<product>
<pname>${PNAME}</pname>
<price currency="NT">${PRICE}</price>
<mark />
</product>
</catalog>
這裡的pname就是產品名稱,price就是產品價格,接著我們進行替換
from string import Template
with open('sample.xml') as fr:
data = fr.read() #讀入檔案內容
data = Template(data) #將內容當作範本
data = data.safe_substitute(PNAME='IPHONE 12', PRICE='30000') #進行替換
print(data)
這時候就會看到以下的內容
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<product>
<pname>IPHONE 12</pname>
<price currency="NT">30000</price>
<mark />
</product>
</catalog>
例如一個很大的XML文件,每次的內容幾乎都一樣,只是有一些傳送對象
時間、ID、敘述的部分可能不一樣的時候,這時候使用正規的xml就顯得很麻煩
這時候就很適合使用Template將XML中這幾個內容進行替換。
首先先建立一個範例的文件檔sample.xml,其中要更換的內容則使用${XX}作為標記
?xml version="1.0" encoding="utf-8" ?>
<catalog>
<product>
<pname>${PNAME}</pname>
<price currency="NT">${PRICE}</price>
<mark />
</product>
</catalog>
這裡的pname就是產品名稱,price就是產品價格,接著我們進行替換
from string import Template
with open('sample.xml') as fr:
data = fr.read() #讀入檔案內容
data = Template(data) #將內容當作範本
data = data.safe_substitute(PNAME='IPHONE 12', PRICE='30000') #進行替換
print(data)
這時候就會看到以下的內容
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<product>
<pname>IPHONE 12</pname>
<price currency="NT">30000</price>
<mark />
</product>
</catalog>