2014-03-26 52 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