我有这个配置文件:
[test]
one: value1
two: value2
此函数返回项目,配置文件的section test中的值,但是当我调用该函数时,只返回第一项(one,value1)。
def getItemsAvailable(section):
for (item, value) in config.items(section):
return (item, value)
我用这个函数调用getItemsAvailable():
def test():
item, value = getItemsAvailable('test')
print (item, value)
我想我应该在getItemsAvailable()函数上创建一个列表,并返回列表以读取test()函数的值,是吗?
有什么建议吗?
谢谢!
答案 0 :(得分:2)
使用列表理解。变化
for (item, value) in config.items(section):
# the function returns at the end of the 1st iteration
# hence you get only 1 tuple.
# You may also consider using a generator & 'yield'ing the tuples
return (item, value)
到
return [(item, value) for item, value in config.items(section)]
关于你的test()
功能:
def test():
aList = getItemsAvailable('test')
print (aList)
答案 1 :(得分:1)
使用生成器功能:
def getItemsAvailable(section):
for (item, value) in config.items(section):
yield (item, value)
得到这样的项目:
def test():
for item, value in getItemsAvailable('test'):
print (item, value)