将 .py 文件导入为模块时不显示文档字符串?

Docstring not showing up when importing .py file as a module?

提问人:Doma 提问时间:7/31/2020 最后编辑:SyscallDoma 更新时间:11/18/2023 访问量:2170

问:

我正在做一个项目,我开始在其他 .py 文件中编写函数并将它们导入主 .py ...我想为我正在导入的整个文件(模块)编写帮助文本,类似于导入库(模块)时,如下所示:Hovering over tempfile module in vs code

当我尝试在导入的文件顶部编写类似内容时,文档字符串没有显示。

试试这个:Attempting to write a docstring in the file I'm importing

但是得到这个(没有显示文档字符串):Hovering over the .py file I'm trying to import

python visual-studio-code 导入 模块 文档字符串

评论


答:

1赞 I_Can_Help 7/31/2020 #1

这可能是因为你的文档字符串格式。尝试使用这样的格式:

"""Helpful docstring for a .py file of functions."""

然后,如果 VS Code 在模块悬停时仍未显示文档字符串,请在保存文件后使用“重新加载窗口”命令(即 并输入“重新加载窗口”)。您也可以使用 pydocstyle linter。例如,它说“一行文档字符串应该适合一行带引号的行”。Python VS Code 扩展支持 linter。但可以肯定的是,该选项已启用,并且 pydocstyle 本身已安装。您可以将其全局安装,也可以在本地为虚拟环境安装。我更喜欢全局安装 - 。此外,扩展还会检查是否安装了所有已启用的 linter,并可以帮助安装它们。Ctrl+Shift+Ppython.linting.pydocstyleEnabledpip install pydocstyle

评论

1赞 JL Peyret 8/1/2020
我真的非常怀疑这是按引号类型或换行符的格式。文档字符串需要位于范围的第一行非空白行上,仅此而已。可能需要重新加载或 vscode 大惊小怪,但 Python 通常认为单引号和双引号是等效的,即使有样式偏好,例如 linters 和黑色
1赞 Doma 8/1/2020 #2

回复:已解决

正如注释中所建议的,''和“ ”都是等价的。问题与按照“重新加载窗口”的建议重新加载窗口有关。Docstring Working导入文件的文档字符串在更改时不得直接更新Ctrl+Shift+P

0赞 Allen Supynuk 11/18/2023 #3

我遇到了另一个案例。

如果在 then y 中添加help="text"command()

那是

@click.command(help="My cool utility")
@click.argument("fizz", required=True)
@click.argument("buzz", required=True)
def utility(fizz: str, buzz: str):
    """This utility is amazing"""

那么当你这样做时,你的文档字符串就不会显示出来。--help

删除,你就很好了。help="My cool utility"