我正在尝试从模块返回一个字典,但无论在Windows 7上的Python2.7上是什么,字典都会返回为空。例如:
test_dict.py
def get_dict():
dictiom = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print dictiom['Name']
return dictiom['Name']
if __name__ == '__main__':
get_dict()
get_dict.py
import test_dict
dict_test = test_dict.get_dict()
print dict_test
独立运行test_dict.py,print语句返回
Zara
从get_dict.py调用dict打印
{}
这是一个简化的例子,但对于我尝试过的其他测试也是如此。
更新以更改我的示例错误。
好的,所以这是我实际代码的问题部分
Search.py
from Bio import Entrez
def search(query):
Entrez.email = 'me@example.com'
handle = Entrez.esearch(db='pubmed',
sort='relevance',
retmax='50',
retmode='xml',
term=query)
results = Entrez.read(handle)
return results
main.py
import Search
query = 'cancer'
results = Search.search(query)
print(results)
结果是一个空的字典,但无法解决原因。但是运行Search.py本身就可以了。
答案 0 :(得分:5)
为您的功能添加不同的名称!
dict
是内置功能。</ p>
<强> test_dict.py 强>
def get_dict():
dictiom = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
return dictiom #I think you want to return the whole dict?
if __name__ == '__main__':
print get_dict() # print the dict as a test
然后你可以这样做
<强> main.py 强>
import test_dict
dict_test = test_dict.get_dict()
print dict_test
答案 1 :(得分:-1)
如果您使用
import test_dict
然后你必须打电话
test_dict.dict()
如果您使用
from test_dict import dict
然后你可以打电话
dict()
编辑:
您可以使用
from test_dict import dict as my_dict
并致电
my_dict()
以防止与原始dict()