帮助在Python函数中访问模块变量?

时间:2011-08-10 19:46:48

标签: python variables module global-variables local-variables

我在名为dictbuilder.py的Python模块中有以下函数:

def my_dictbuilder(reader_o, writer):
    fieldnames = ('name', 'number')
    reader = csv.DictReader(reader_o, fieldnames = fieldnames, delimiter="\t")
    my_dict = {}
    id = 0
    for row in reader:
       id += 1
       my_dict[id] = row['name'], row['number']
       id += 1
    return(my_dict)

我从名为main.py的模块导入并调用了此函数。我还想使用我导入main.py的dictbuilder.py模块中的my_dict变量。当我尝试打印my_dictbuilder.mydict时出现此错误:

AttributeError: 'function' object has no attribute 'my_dict'

任何人都可以帮我弄清楚如何从我的main.py文件中访问my_dict变量吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

嗯,你正在返回my_dict,所以只需在你调用它时将返回值存储在主模块中。

my_dict = dictbuilder.my_dictbuilder(reader_o, writer)