关于python:pep257标准库中的docstring trim?

PEP 257 docstring trim in standard library?

PEP 257表示:

Docstring processing tools will strip a uniform amount of indentation from the second and further lines of the docstring, equal to the minimum indentation of all non-blank lines after the first line. Any indentation in the first line of the docstring (i.e., up to the first newline) is insignificant and removed. Relative indentation of later lines in the docstring is retained. Blank lines should be removed from the beginning and end of the docstring.

执行该算法的函数trim随后显示在PEP中。

我可以找到一些问题,人们问如何格式化文档字符串,并将其提交给PEP257(例如,这个)。我还看到一些关于工具的信息,这些工具试图确保您的docstring遵循PEP257(例如,这个)。我找不到任何一个python库,它实际上是一个"docstring处理工具",它以pep 257中定义的方式处理docstring——或者至少,我找不到一个可以直接使用此docstring处理功能的工具。

PEP 257中显示的函数trim是否存在于标准库中?显然,我可以自己将函数粘贴到一个文件中,但是如果我使用的是其他计算机,而不是总是从PEP中复制和粘贴,那么我更愿意从标准库中使用它。考虑到这个功能是在一个由BDFL合著的PEP中,我想会有一些官方或半官方的图书馆来做这个。

我希望这样做的原因是编写一个装饰器,对类/函数的docstrings进行一些Python内部重新格式化。我不想生成HTML或其他任何东西;我只想更改实际对象的实际docstring。我想获取一个python对象的纯文本__doc__属性,并将其重新格式化为可以用作python对象的纯文本__doc__属性的属性。


在寻找一个相关问题的答案时,我设法找到了这个问题的答案。trim算法在各地的inspect.cleandoc中实现。