欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python xmltodict模塊安裝及代碼實(shí)例

 更新時(shí)間:2020年10月05日 09:10:20   作者:lincappu  
這篇文章主要介紹了Python xmltodict模塊安裝及代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

最近在對(duì)接微信公眾號(hào)、微信支付等功能,發(fā)現(xiàn)很多都是用xml格式的。在使用django日常處理的時(shí)候,都是手動(dòng)拼接的,真的是很惡心。今天仔細(xì)的看了一下python的xmltodict模塊,發(fā)現(xiàn)其實(shí)完全可以不用手動(dòng)拼接,輪子本身都有了。只要那來(lái)用就好了。之前自己的方式反而有點(diǎn)傻逼了。

首先使用和安裝都很簡(jiǎn)單

安裝

pip install xmltodict #如果安裝失敗,直接去github上下載手動(dòng)裝吧,https://github.com/martinblech/xmltodict

從名字就知道了 他是一個(gè)支持從xml轉(zhuǎn)換到python的dict互相轉(zhuǎn)換的模塊。(真的很方便)

dict轉(zhuǎn)換xml(用的比較多)

這個(gè)的使用場(chǎng)景是真的多,比如微信支付各種信息獲取都需要用到。

xmltodict.unparse()方法可以方便的將字典轉(zhuǎn)換為xml字符串。

import xmltodict
d = {
'xml':{
'a': '123',
'b': '234'
}
}
xml_tmp = xmltodict.unparse(d)
print(xml_tmp)
--><?xml version="1.0" encoding="utf-8"?><xml><a>123</a><b>234</b></xml>

看著上面的字典格式也有點(diǎn)奇怪,這里要說(shuō)明一下,生成xml只能只有一個(gè)根,否則會(huì)報(bào)錯(cuò)ValueError: Document must have exactly one root.

解決方式也比較簡(jiǎn)單,只要將你需要的字典內(nèi)容在嵌套到一個(gè)xml的鍵里面,保證字典的第一層只有xml這個(gè)鍵即可。

xml轉(zhuǎn)換dict

這個(gè)方法用的不多,我目前主要是用在處理回調(diào)解析微信傳給我們的xml數(shù)據(jù)。

xmltodict.parse()將xml轉(zhuǎn)換為字典。

接著上面的例子,繼續(xù)往下吧。

import xmltodict
d = {
'xml':{
'a': '123',
'b': '234'
}
}
xml_tmp = xmltodict.unparse(d)
print(xml_tmp)
#將轉(zhuǎn)換的xml在轉(zhuǎn)換回字典
dt = xmltodict.parse(xml_tmp)
print(dt,type(dt))
--> OrderedDict([('xml', OrderedDict([('a', '123'), ('b', '234')]))]) <class 'collections.OrderedDict'>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 如何引入同級(jí)包和模塊

    Python 如何引入同級(jí)包和模塊

    這篇文章主要介紹了Python 如何引入同級(jí)包和模塊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 關(guān)于CUDA out of memory的解決方案

    關(guān)于CUDA out of memory的解決方案

    這篇文章主要介紹了關(guān)于CUDA out of memory的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python之requests的使用(二)

    Python之requests的使用(二)

    上一篇我們說(shuō)了requests的簡(jiǎn)單用法,知道了如何發(fā)送請(qǐng)求,今天我們更深層次的來(lái)學(xué)習(xí)requests。我們看看高級(jí)一點(diǎn)的操作,比如講文件上傳,cookies設(shè)置,代理設(shè)置之類的。感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • Python求凸包及多邊形面積教程

    Python求凸包及多邊形面積教程

    這篇文章主要介紹了Python求凸包及多邊形面積教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python使用textract實(shí)現(xiàn)從各種文件中提取文本信息

    Python使用textract實(shí)現(xiàn)從各種文件中提取文本信息

    textract是一個(gè)強(qiáng)大的Python庫(kù),可以用于從各種文件格式中提取文本,本文將介紹textract的使用場(chǎng)景,以及一些常用的Python代碼案例,希望對(duì)大家有所幫助
    2024-01-01
  • python3 中使用urllib問(wèn)題以及urllib詳解

    python3 中使用urllib問(wèn)題以及urllib詳解

    這篇文章主要介紹了python3 中使用urllib問(wèn)題以及urllib詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python實(shí)現(xiàn)的FTP通信客戶端與服務(wù)器端功能示例

    Python實(shí)現(xiàn)的FTP通信客戶端與服務(wù)器端功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的FTP通信客戶端與服務(wù)器端功能,涉及Python基于socket的端口監(jiān)聽(tīng)、文件傳輸?shù)认嚓P(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐

    Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐

    本文主要介紹了Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Pandas數(shù)據(jù)類型之category的用法

    Pandas數(shù)據(jù)類型之category的用法

    Pandas中有一種特殊的數(shù)據(jù)類型叫做category.它表示的是一個(gè)類別,一般用在統(tǒng)計(jì)分類中,比如性別,血型,分類,級(jí)別等等.有點(diǎn)像java中的enum,今天給大家詳細(xì)講解一下category的用法,需要的朋友可以參考下
    2021-06-06
  • python中函數(shù)的參數(shù)詳解

    python中函數(shù)的參數(shù)詳解

    本文詳細(xì)講解了python中函數(shù)的參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07

最新評(píng)論