如何将 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 连接等。
我有一个名为 '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 连接等。