【发布时间】:2020-08-10 04:27:18
【问题描述】:
我的函数应该返回一个生成器,该生成器通过来自pathlib 模块的Path 生成特定签名的文件。问题是我不明白如何在 Python 3 中正确注释函数。
函数如下:
from pathlib import Path
from typing import Generator
def get_waves_generator(directory: str) -> ???:
gen = Path(directory).rglob('*.wav')
return gen
我找到了this answer,它本质上是文档的副本。我需要用以下注释它
Generator[YieldType, SendType, ReturnType]
就我而言,YieldType、SendType 和 ReturnType 是什么?
【问题讨论】:
-
YieldType可能是pathlib.PosixPath。如果生成器只产生值,则其他两种类型为无。见docs.python.org/3/library/typing.html#typing.Generator。 -
谢谢,它也与@fepegar 回答的内容非常匹配,尽管您对类型是正确的(它是
pathlib.PosixPath,而不是Path)。您愿意提供这个作为答案吗?
标签: python python-3.x path generator