如何使用sphinx生成python文档时保留换行符

我正在使用Sphinx生成一个python项目的文档。 输出的html不保留文档string中存在的换行符。 例:

def testMethod(arg1,arg2): """ This is a test method Arguments: arg1: arg1 description arg2: arg2 description Returns: None """ print "I am a test method" 

狮身人面像O / P:

 TestModule.testMethod(arg1, arg2) This is a test method Arguments: arg1: arg1 description arg2: arg2 description Returns: None 

任何想法如何解决它?

一般在重组文本中使用

 | Vertical bars | like this 

保持换行

如果将以下内容添加到主.rst文件中:

 .. |br| raw:: html <br /> 

然后在你的标记中你可以添加|br| 为HTML创build换行符。

 I want to break this line here: |br| after the break. 

来自: http : //docutils.sourceforge.net/FAQ.html#how-to-indicate-a-line-break-or-a-significant-newline

这个答案来得晚,但也许对别人有用。

您可以在文档string中使用reStructuredText 。 这看起来像

 :param arg1: arg1 description :type arg1: str :param arg2: arg2 description :type arg2: str 

从示例的外观看来,您似乎正在使用Google样式文档( http://google-styleguide.googlecode.com/svn/trunk/pyguide.html?showone=Comments#Comments )。

狮身人面像本身不支持这些。 然而,有一个名为napoleon的扩展,它可以在https://pypi.python.org/pypi/sphinxcontrib-napoleonparsingGoogle和Numpy风格的文档。;

要使用扩展名,你必须将'sphinxcontrib.napoleon'添加到你的Sphinx conf.py (通常是doc/source/conf.py )的extension doc/source/conf.py ,所以它变成了类似

 extensions = [ 'sphinx.ext.autodoc', 'sphinxcontrib.napoleon', 'sphinx.ext.doctest', ] 

在你的情况下,你可以写:

 def testMethod(arg1,arg2): """ This is a test method | Arguments: | arg1: arg1 description | arg2: arg2 description | Returns: | None """ print "I am a test method" 

在我的具体情况,我试图让autodoc读取文档string( """ my doc string """ )。 我最终在所有需要添加换行符的地方使用\n

 This is the first line\n and this is the second line\n