簡體   English   中英

將字典的文本文件讀入python作為列表

[英]Read text file of dictionaries into python as list

我有一個很大的文本文件,是字典列表,像這樣

[{'a':'1', 'b':'2'},{'a':'3','b':'4'}]

我如何將其作為字典列表讀入python?

您也可以使用ast.literal_eval

import ast
ast.literal_eval("[{'a':'1', 'b':'2'},{'a':'3','b':'4'}]")

幫助ast模塊中的literal_eval函數:

literal_eval(node_or_string)安全地評估表達式節點或包含Python表達式的字符串。 提供的字符串或節點只能由以下Python文字結構組成:字符串,字節,數字,元組,列表,字典,集合,布爾值和無。

我在https://stackoverflow.com/a/21154138/1415639學習了這個技巧

您可以使用eval

with open('filename') as f:
    d = eval(f.read())

請記住,如注釋中所述,應謹慎使用eval ,因為如果控件中輸入的值不是100%,則最終可能會執行有害代碼。

您可以從ast使用literal_eval ,這是eval的更安全解決方案。 您可以在這里這里看到為什么不應該使用eval原因。

因此,您想要的是:

from ast import literal_eval


with open('file.txt') as f:
    dictionaries = literal_eval(f.read().strip()) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM