我已经创建了一个生成器管道,这些生成器相互输入,并由脚本末尾的csv.Dictwriter.writerows
函数调用驱动。管道如下:
chunks = (gen_issue_chunk(
j,
start,
jql,
expand='changelog',
fields=desired_fields)
for start in start_at)
issues = gen_issues(chunks)
# A set to collect all issue ID's that need to be removed from the db.
to_delete = set()
rows = process_issues(issues, to_delete)
例如,在gen_issues
函数中,我的函数签名如下所示:
def gen_issues(chunks) -> Generator[resources.Issue, None, None]:
"""
:param chunks:
:return:
"""
for chunk in chunks:
yield from chunk
此Generator
类型是从typing
模块导入的。但是当这被传递到process_issues
函数中时,当我尝试遍历这些问题时,我得到一个linter警告,指出collections.Iterable
是预期的,而不是收到Generator[...]
。当一个函数需要一个generator
,并且它说需要的签名是__generator[any, any, None]
时,我在传递这个类型时也会收到警告
注释生成器的正确(最佳实践)方法是什么
目前没有回答
相关问题 更多 >
编程相关推荐