我写过这个函数返回dictionary
,我想是itertools
或者只是使用yeild
我可以返回dictionary
但是我从来没有这样做过dictionary
def configDb():
""" Reads git global config file
Returns:
config(dict): git config settings
"""
# Read git config file
configFile, _ = execGitCommand('git config --list')
config = {}
for line in (each for each in configFile.split("\n") if each):
config[line.split("=")[0]] = line.split("=")[-1]
return config
如何让这个功能以我不必像configDb()
那样调用的方式行事,而只是configDb[key]
应该给我价值?
答案 0 :(得分:0)
字典不能generator
,但你可以yield
键值元组
def configDb():
""" Reads git global config file
Returns:
config(dict): git config settings
"""
# Read git config file
configFile, _ = execGitCommand('git config --list')
config = {}
for line in (each for each in configFile.split("\n") if each):
yield line.split("=")[0], line.split("=")[-1]
答案 1 :(得分:0)
部分配置文件几乎没用,所以“生成的字典”似乎没什么用处。
def configDb():
""" Reads git global config file
Returns:
config(dict): git config settings
"""
# Read git config file
configFile, _ = execGitCommand('git config --list')
rows = (line.split("=") for line in configFile.splitlines())
return dict(row for row in rows if len(row)==2)