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

时间:2015-08-19 00:18:40

标签: python dictionary python-import

我有一个标题为“应用程序”的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':[]}}

1 个答案:

答案 0 :(得分:2)

如果您的文件包含格式正确的Python dict,您可以将它加载到一行中,如下所示:

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连接等。