Python?eval()函數(shù)和ast.literal_eval()的區(qū)別你知道嗎
eval()函數(shù)可以將字符串型的list、tuple、dict等等轉(zhuǎn)換為原有的數(shù)據(jù)類型
即使用eval可以實現(xiàn)從元組,列表,字典型的字符串到元組,列表,字典的轉(zhuǎn)化,此外,eval還可以對字符串型的輸入直接計算
從上面來看,eval功能可謂是非常強(qiáng)大,即可以做string與list、tuple、dict之間的類型轉(zhuǎn)換,還可以做計算器使用,但是eval強(qiáng)大的背后有著巨大的安全隱患,比如,用戶惡意輸入下面的字符串,是十分危險的
所以這里因為安全處理方式 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-01python實現(xiàn)獲取當(dāng)前設(shè)備的地點(diǎn)位置
這篇文章主要介紹了python實現(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實現(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)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07windows10安裝python依賴報錯can‘t?create?or?remove?files?in?i
這篇文章主要介紹了windows10安裝python依賴報錯can‘t?create?or?remove?files?in?install?directory問題及解決方案,具有很好的參考價值,希望對大家有所幫助2023-09-09