首頁 > 後端開發 > Python教學 > 如何安全地將字典的字串表示形式轉換為 Python 中的字典?

如何安全地將字典的字串表示形式轉換為 Python 中的字典?

Mary-Kate Olsen
發布: 2024-12-23 12:11:19
原創
467 人瀏覽過

How Can I Safely Convert a String Representation of a Dictionary to a Dictionary in Python?

將字典的字串表示形式轉換為字典

在Python中,通常需要轉換字典的字串表示形式,例如下面的字串表示形式, 代入其對應的字典:

s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
登入後複製

避免使用'eval'

雖然可以使用 'eval' 函數來計算字串表達式,但不鼓勵使用此方法,因為安全性問題。 'eval' 執行任意程式碼,增加了漏洞的風險。

更安全的替代方案

要安全地轉換字串字典,請考慮使用內建的 'ast.literal_eval ' 功能。 'ast.literal_eval' 專門設計用於計算文字 Python 表達式,例如字典、元組、列表等的字串表示形式。

範例

import ast
ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
登入後複製

輸出:

{'muffin': 'lolz', 'foo': 'kitty'}
登入後複製

的好處'ast.literal_eval'

    的好處'ast.literal_eval'

🎜>安全性:僅計算文字表達式,防止惡意程式碼執行。 多功能性:不僅可以計算字典,還可以計算列表、元組、和其他 Python 文字結構。 與 'eval' 相比, 'ast.literal_eval' 提供了一種更安全、更受控制的方法來將字典或其他文字的字串表示形式轉換為 Python 物件。

以上是如何安全地將字典的字串表示形式轉換為 Python 中的字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板