2014-03-26 44 views
2

我有一个共享文件夹,其中包含我希望我的程序参考的文本文件,就好像它是.py文件一样。例如,我的.txt文件中有一个我在程序中引用的字典。我如何从文本文件导入字典?我是否一行一行阅读?或者有没有一种方法可以让python认为它是一个.py文件。如何在Python 2.7中将文本(.txt)文件读取为.py文件?

这里是类似我的.txt文件的样本:

#There are some comments here and there 

#lists of lists 
equipment = [['equip1','hw','1122','3344'],['equip2','hp','1133','7777'],['equip3','ht','3333','2745']] 

#dictionaries 
carts = {'001':'Rev23', '002':'Rev11','003':'Rev7'} 

#regular lists 
stations = ("1", "2", "3", "4", "11", "Other") 
+0

相关:[动态导入Python模块](http://stackoverflow.com/q/3799545/4279) – jfs

回答

3

看起来你需要的是一个JSON文件。

的例子:考虑你有source.txt包含以下内容:

{"hello": "world"} 

然后,在你的Python脚本,您可以通过使用json.load() JSON数据结构加载到Python字典:

import json 

with open('source.txt', 'rb') as f: 
    print json.load(f) 

打印:

{u'hello': u'world'} 

您也可以使用exec(),但我不真的推荐它。这里只是为了教育目的的例子:

source.txt

d = {"hello": "world"} 

脚本:

with open('test.txt', 'rb') as f: 
    exec(f) 
    print d 

打印:

{'hello': 'world'} 

希望有所帮助。

+0

.json文件是否易于编辑?我想要这个文件很容易编辑。 – Cole

+0

@可以肯定,只要按照[JSON](http://www.json.org/)标准。 – alecxe

+0

我在这个参考文件中有多个词典和列表。他们都可以通过这种方法使用吗? – Cole

3

如果您完全信任源文件.txt,请查看execfile