将`object .__ doc__`作为原始字符串

时间:2009-11-29 22:54:01

标签: python pydoc

有没有办法将object.__doc__作为原始字符串,除了在源代码中在doctring本身前面添加'r'之外?

我里面有乳胶代码而且'\ r','\ f等等正在制造问题。

3 个答案:

答案 0 :(得分:7)

没有像“原始字符串”这样的Python类型 - 有原始字符串文字 ,这只是一种语法方法(out许多)指定字符串类型的常量(即文字)。因此,“获取”某些“作为原始字符串”是没有意义的。您可以编写文档字符串作为原始字符串文字(即前缀为r - 这正是表示原始字符串文字的内容,即为Python编译器标识此类常量的特定语法) ,或者加倍其中的任何反斜杠(另一种指定包括反斜杠字符的常量字符串的方法),但这与以这种或那种方式“获取”它们无关。

答案 1 :(得分:2)

不,你必须添加r。如果您不添加r,无论您做什么,都无法确保取回原始字符串。

如果您不喜欢原始字符串,另一种方法是使用额外的反斜杠来逃避字符串中的反斜杠。

答案 2 :(得分:2)

原始字符串之间的区别只是源代码文字语法的问题。解析后,没有'原始'字符串对象。 repr(object.__doc__)的结果将始终是这样的,您可以将结果复制并粘贴到python源脚本中并获取原始字符串。

考虑:

>>> def foo():
...     'foo\nbar'
...     pass
...
>>> foo.__doc__
'foo\nbar'
>>> print foo.__doc__
foo
bar
>>>