Python?eval()函數(shù)和ast.literal_eval()的區(qū)別你知道嗎
eval()函數(shù)可以將字符串型的list、tuple、dict等等轉(zhuǎn)換為原有的數(shù)據(jù)類型
即使用eval可以實(shí)現(xiàn)從元組,列表,字典型的字符串到元組,列表,字典的轉(zhuǎn)化,此外,eval還可以對(duì)字符串型的輸入直接計(jì)算
從上面來看,eval功能可謂是非常強(qiáng)大,即可以做string與list、tuple、dict之間的類型轉(zhuǎn)換,還可以做計(jì)算器使用,但是eval強(qiáng)大的背后有著巨大的安全隱患,比如,用戶惡意輸入下面的字符串,是十分危險(xiǎn)的
所以這里因?yàn)榘踩幚矸绞?ast.literal_eval(), 該函數(shù)會(huì)判斷需要計(jì)算的內(nèi)容計(jì)算后是不是合法的python類型,如果是則進(jìn)行運(yùn)算,否則就不進(jìn)行運(yùn)算比如上面的計(jì)算操作和危險(xiǎn)操作,使用ast.literal_eval()都會(huì)拒絕執(zhí)行,報(bào)錯(cuò)
ast.literal_eval()只會(huì)執(zhí)行合法的Python類型,從而大大降低系統(tǒng)的風(fēng)險(xiǎn)性
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python中的數(shù)據(jù)類dataclass解讀
這篇文章主要介紹了Python中的數(shù)據(jù)類dataclass使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01python實(shí)現(xiàn)獲取當(dāng)前設(shè)備的地點(diǎn)位置
這篇文章主要介紹了python實(shí)現(xiàn)獲取當(dāng)前設(shè)備的地點(diǎn)位置,電腦如何獲取當(dāng)前所處的地理位置?它不會(huì)像我們一樣對(duì)地理位置有感性的認(rèn)知,它只認(rèn)識(shí)數(shù)據(jù),簡(jiǎn)言之,電腦可以通過獲取當(dāng)前連接的公網(wǎng)IP,反推所處的位置環(huán)境,需要的朋友可以參考一下2022-03-03深入了解Python?Opencv數(shù)據(jù)增強(qiáng)
常見的數(shù)據(jù)增強(qiáng)操作有:按比例放大或縮小圖片、旋轉(zhuǎn)、平移、水平翻轉(zhuǎn)、改變圖像通道等。本文將通過Python?OpenCV實(shí)現(xiàn)這些操作,需要的可以參考一下2022-02-02超詳細(xì)圖解修改pip?install默認(rèn)安裝路徑的方法
windows環(huán)境下Python pip安裝庫的時(shí)候,默認(rèn)安裝在c盤,下面這篇文章主要給大家介紹了關(guān)于修改pip?install默認(rèn)安裝路徑的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07windows10安裝python依賴報(bào)錯(cuò)can‘t?create?or?remove?files?in?i
這篇文章主要介紹了windows10安裝python依賴報(bào)錯(cuò)can‘t?create?or?remove?files?in?install?directory問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2023-09-09Python爬蟲之正則表達(dá)式基本用法實(shí)例分析
這篇文章主要介紹了Python爬蟲之正則表達(dá)式基本用法,結(jié)合實(shí)例形式分析了Python正則表達(dá)式的基本概念、函數(shù)語法、相關(guān)使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-08-08