标准库中的PEP 257 docstring trim?

时间:2013-05-14 02:37:42

标签: python docstring

PEP 257说:

  

文档字符串处理工具将从文档字符串的第二行和更多行中删除均匀数量的缩进,等于第一行之后所有非空行的最小缩进。文档字符串第一行中的任何缩进(即,直到第一个换行符)都是无关紧要的并被删除。保留docstring中后续行的相对缩进。应从文档字符串的开头和结尾删除空行。

然后在PEP中显示实现此算法的函数trim

我可以找到人们询问如何格式化文档字符串的问题,并参考PEP 257(例如this)。我还看到一些有关工具的信息,这些工具试图确保您的文档字符串遵循PEP 257(例如,this)。我找不到的是任何实际上的文档串处理工具的Python库,它以PEP 257中定义的方式处理文档字符串---或者至少,我找不到工具这使得这个文档字符串处理功能直接可用。

标准库中是否存在PEP 257中显示的函数trim?显然我可以自己将函数粘贴到文件中,但如果我使用其他需要此功能的计算机,而不是总是从PEP复制和粘贴,我宁愿在标准库中使用它。鉴于该功能是由BDFL共同编写的PEP,我原以为会有一些官方或半官方的图书馆这样做。

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

1 个答案:

答案 0 :(得分:26)

在寻找相关问题的答案时,我设法找到了答案。 trim算法在所有地方的inspect.cleandoc中实施。