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

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

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

所以這里因為安全處理方式 ast.literal_eval(), 該函數(shù)會判斷需要計算的內(nèi)容計算后是不是合法的python類型,如果是則進行運算,否則就不進行運算比如上面的計算操作和危險操作,使用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實現(xiàn)獲取當(dāng)前設(shè)備的地點位置
這篇文章主要介紹了python實現(xiàn)獲取當(dāng)前設(shè)備的地點位置,電腦如何獲取當(dāng)前所處的地理位置?它不會像我們一樣對地理位置有感性的認知,它只認識數(shù)據(jù),簡言之,電腦可以通過獲取當(dāng)前連接的公網(wǎng)IP,反推所處的位置環(huán)境,需要的朋友可以參考一下2022-03-03
深入了解Python?Opencv數(shù)據(jù)增強
常見的數(shù)據(jù)增強操作有:按比例放大或縮小圖片、旋轉(zhuǎn)、平移、水平翻轉(zhuǎn)、改變圖像通道等。本文將通過Python?OpenCV實現(xiàn)這些操作,需要的可以參考一下2022-02-02
windows10安裝python依賴報錯can‘t?create?or?remove?files?in?i
這篇文章主要介紹了windows10安裝python依賴報錯can‘t?create?or?remove?files?in?install?directory問題及解決方案,具有很好的參考價值,希望對大家有所幫助2023-09-09

