Pergunta

Existe uma maneira de obter object.__doc__ como uma cadeia cru, além de adicionar um 'r' na frente do próprio doctring no código fonte?

eu tenho dentro de código de látex e problemas etc estão criando 'do \ r' \ de f o.

Foi útil?

Solução

Não há tal tipo Python como "corda crua" - há string raw literais , que são apenas um sintaxe abordagem (fora de muitos) para especificar constantes (isto é, os literais) que são de tipos de cordas. Assim, "recebendo" algo "como uma cadeia de matéria-" apenas não faz sentido. Você pode write docstrings como strings literais-primas (ou seja, com o r prefixo - que é exatamente o que denota um literal de cadeia cru, a sintaxe específica que identifica como uma constante para o compilador Python), ou então duplo -se quaisquer barras invertidas em si (uma maneira alternativa para especificar strings constantes, incluindo caracteres de barra invertida), mas que não tem nada a ver com "ficando"-los de uma forma ou de outra.

Outras dicas

a diferença entre uma corda cru e o contrário é apenas uma questão de código fonte sintaxe literal. uma vez analisado, não há 'raw' objeto string. o resultado de repr(object.__doc__) sempre será tal que você pode copiar e colar o resultado em um script fonte python e obter a string original.

considerar:

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

Não, você tem que adicionar o r. Se você não adicionar o r, não há nenhuma maneira você pode ter certeza de voltar a string original não importa o que você faz.

Se você não gosta cordas matérias a outra alternativa é escapar suas barras invertidas nas strings com uma barra invertida extra.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top