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

python中l(wèi)iteral_eval函數(shù)的使用小結(jié)

 更新時間:2025年08月19日 10:42:04   作者:Lumiron  
literal_eval是Python標(biāo)準(zhǔn)庫ast模塊中的一個安全函數(shù),用于將包含 Python字面量表達(dá)式的字符串安全地轉(zhuǎn)換為對應(yīng)的Python對象,下面就來介紹一下literal_eval函數(shù)的使用

基本用法

from ast import literal_eval

# 將字符串轉(zhuǎn)換為Python對象
string_list = "[1, 2, 3]"
real_list = literal_eval(string_list)
print(real_list)  # 輸出: [1, 2, 3]
print(type(real_list))  # 輸出: <class 'list'>

string_dict = "{'name': 'Alice', 'age': 25}"
real_dict = literal_eval(string_dict)
print(real_dict)  # 輸出: {'name': 'Alice', 'age': 25}
print(type(real_dict))

與 eval() 的區(qū)別

1、安全性:literal_eval 只能解析 Python 字面量結(jié)構(gòu)(字符串、數(shù)字、元組、列表、字典、布爾值和 None),不會執(zhí)行任意代碼,因此比 eval() 安全得多。

# eval() 會執(zhí)行任何代碼 - 不安全!
eval("__import__('os').system('rm -rf /')")  # 危險!

# literal_eval() 會拒絕執(zhí)行非字面量表達(dá)式
literal_eval("__import__('os').system('rm -rf /')")  # 會引發(fā) ValueError

2、功能限制:literal_eval 不能計算表達(dá)式或調(diào)用函數(shù),只能處理基本的 Python 數(shù)據(jù)結(jié)構(gòu)。

支持的數(shù)據(jù)類型

literal_eval 可以安全地評估以下 Python 字面量結(jié)構(gòu):

1、字符串
2、數(shù)字(整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù))
3、元組
4、列表
5、字典
6、布爾值(True/False)
7、None

使用場景

1、安全地從字符串加載數(shù)據(jù)結(jié)構(gòu):當(dāng)需要從外部源(如配置文件、用戶輸入)加載數(shù)據(jù)時。

2、替代 pickle/json:對于簡單的數(shù)據(jù)結(jié)構(gòu),比 pickle 安全,比 json 更靈活(json 不支持所有 Python 數(shù)據(jù)類型)。

3、配置文件解析:當(dāng)配置需要包含復(fù)雜數(shù)據(jù)結(jié)構(gòu)時。

注意事項

1、雖然比 eval() 安全,但仍應(yīng)謹(jǐn)慎處理不受信任的輸入。

2、對于非常大的數(shù)據(jù)結(jié)構(gòu),可能會有性能問題。

3、不支持 Python 3 的字節(jié)字面量(如 b’bytes’)。

到此這篇關(guān)于python中l(wèi)iteral_eval函數(shù)的使用小結(jié)的文章就介紹到這了,更多相關(guān)python literal_eval 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python標(biāo)準(zhǔn)庫使用OrderedDict類的實例講解

    Python標(biāo)準(zhǔn)庫使用OrderedDict類的實例講解

    今天小編就為大家分享一篇關(guān)于Python標(biāo)準(zhǔn)庫使用OrderedDict類的實例講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Python調(diào)用golang代碼詳解

    Python調(diào)用golang代碼詳解

    這篇文章主要給大家介紹了關(guān)于Python調(diào)用golang代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • Pandas中多重索引技巧的實現(xiàn)

    Pandas中多重索引技巧的實現(xiàn)

    Pandas中的多重索引功能強(qiáng)大,適用于處理多維數(shù)據(jù),本文就來介紹一下多重索引技巧,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • Python實現(xiàn)的爬蟲功能代碼

    Python實現(xiàn)的爬蟲功能代碼

    這篇文章主要介紹了Python實現(xiàn)的爬蟲功能,涉及Python使用urllib2、BeautifulSoup模塊實現(xiàn)網(wǎng)頁源碼的獲取、解析等相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • Python實現(xiàn)的特征提取操作示例

    Python實現(xiàn)的特征提取操作示例

    這篇文章主要介紹了Python實現(xiàn)的特征提取操作,涉及Python基于sklearn庫的變量特征提取相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • Python通過Schema實現(xiàn)數(shù)據(jù)驗證方式

    Python通過Schema實現(xiàn)數(shù)據(jù)驗證方式

    這篇文章主要介紹了Python通過Schema實現(xiàn)數(shù)據(jù)驗證方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • python數(shù)據(jù)結(jié)構(gòu)的排序算法

    python數(shù)據(jù)結(jié)構(gòu)的排序算法

    下面是是對python數(shù)據(jù)結(jié)構(gòu)的排序算法的一些講解及示意圖,感興趣的小伙伴一起來學(xué)習(xí)吧
    2021-08-08
  • 人工智能Text Generation文本生成原理示例詳解

    人工智能Text Generation文本生成原理示例詳解

    這篇文章主要為大家介紹了Text Generation文本生成原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Python調(diào)用VBA實現(xiàn)保留原始樣式的表格合并方法

    Python調(diào)用VBA實現(xiàn)保留原始樣式的表格合并方法

    本文主要介紹了Python調(diào)用VBA實現(xiàn)保留原始樣式的表格合并方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 關(guān)于Python 多重繼承時metaclass conflict問題解決與原理探究

    關(guān)于Python 多重繼承時metaclass conflict問題解決與原理探究

    這篇文章主要介紹了Python 多重繼承時metaclass conflict問題解決與原理探究 ,需要的朋友可以參考下
    2022-10-10

最新評論