Python?eval()函數(shù)和ast.literal_eval()的區(qū)別你知道嗎
eval()函數(shù)可以將字符串型的list、tuple、dict等等轉(zhuǎn)換為原有的數(shù)據(jù)類型

即使用eval可以實(shí)現(xiàn)從元組,列表,字典型的字符串到元組,列表,字典的轉(zhuǎn)化,此外,eval還可以對字符串型的輸入直接計算

從上面來看,eval功能可謂是非常強(qiáng)大,即可以做string與list、tuple、dict之間的類型轉(zhuǎn)換,還可以做計算器使用,但是eval強(qiáng)大的背后有著巨大的安全隱患,比如,用戶惡意輸入下面的字符串,是十分危險的

所以這里因?yàn)榘踩幚矸绞?ast.literal_eval(), 該函數(shù)會判斷需要計算的內(nèi)容計算后是不是合法的python類型,如果是則進(jìn)行運(yùn)算,否則就不進(jìn)行運(yùn)算比如上面的計算操作和危險操作,使用ast.literal_eval()都會拒絕執(zhí)行,報錯


ast.literal_eval()只會執(zhí)行合法的Python類型,從而大大降低系統(tǒng)的風(fēng)險性

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python中的數(shù)據(jù)類dataclass解讀
這篇文章主要介紹了Python中的數(shù)據(jù)類dataclass使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
python實(shí)現(xiàn)獲取當(dāng)前設(shè)備的地點(diǎn)位置
這篇文章主要介紹了python實(shí)現(xiàn)獲取當(dāng)前設(shè)備的地點(diǎn)位置,電腦如何獲取當(dāng)前所處的地理位置?它不會像我們一樣對地理位置有感性的認(rèn)知,它只認(rèn)識數(shù)據(jù),簡言之,電腦可以通過獲取當(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安裝庫的時候,默認(rèn)安裝在c盤,下面這篇文章主要給大家介紹了關(guān)于修改pip?install默認(rèn)安裝路徑的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
windows10安裝python依賴報錯can‘t?create?or?remove?files?in?i
這篇文章主要介紹了windows10安裝python依賴報錯can‘t?create?or?remove?files?in?install?directory問題及解決方案,具有很好的參考價值,希望對大家有所幫助2023-09-09
Python爬蟲之正則表達(dá)式基本用法實(shí)例分析
這篇文章主要介紹了Python爬蟲之正則表達(dá)式基本用法,結(jié)合實(shí)例形式分析了Python正則表達(dá)式的基本概念、函數(shù)語法、相關(guān)使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-08-08

