如何将 Python 字典从文本文件加载到变量中

How to load a Python dict from a textfile into a variable

我有一个名为 'Apps' 的 2GB 文件需要导入。该文件由嵌套词典组成(下面的片段)。如何以将文件打包到字典变量中的方式导入它?我意识到我可以打开文件并简单地分配,但在每个 2GB 的情况下,我不想打开每个文件并进行分配。谢谢

{
  'responseHeader':{
    'status':0,
    'QTime':35,
    'params':{
      'sort':'appTitle asc',
      'indent':'true',
      'start':'400',
      'q':'*:*',
      'wt':'python',
      'fq':['status:"A"',
        '-developerWebsite:["" TO *]',
        'intNumDownloads:[0 TO *]'],
      'rows':'450'}},
  'response':{'numFound':771005,'start':400,'docs':[]}}

如果您的文件包含格式正确的 Python 字典,您可以像这样在一行中加载它:

with open('dictfile') as f: my_dict = eval(f.read())

语法

with open(filename) as f:
    # do something

的缩写
f = open(filename)
# do something
f.close()

这是一个很好的做法,因为它可以确保您的流在最后关闭。您也可以将其用于数据库连接、http 连接等。