質問

object .__ doc __ を生の文字列として取得する方法はありますか?

内部にラテックスコードがあり、「\ r」、「\ f」などが問題を引き起こしています。

役に立ちましたか?

解決

" raw string"などのPythonタイプはありません。 -生の文字列 literals があります。これは、(多くの)定数(つまり、リテラル)を指定するための1つの構文アプローチです文字列型の。したがって、「取得」何か「生の文字列として」意味がありません。 docstringsを生の文字列リテラルとして書く(つまり、接頭辞 r を付けることができます。これはまさに、生の文字列リテラル、そのような定数を識別する特定の構文を示します。 (Pythonコンパイラ)、またはバックスラッシュを2つ重ねる(バックスラッシュ文字を含む定数文字列を指定する代替方法)が、それは" get"とは何の関係もない;それらを何らかの方法で。

他のヒント

生の文字列とそうでないものとの違いは、ソースコードのリテラル構文の問題です。一度解析すると、「生の」文字列オブジェクトはありません。 repr(object .__ doc __)の結果は常に結果をコピーしてPythonソーススクリプトに貼り付け、元の文字列を取得できるようになります。

考慮:

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

いいえ、rを追加する必要があります。 rを追加しないと、何をしても元の文字列を確実に戻すことができません。

生の文字列が気に入らない場合は、文字列内のバックスラッシュをバックスラッシュでエスケープすることもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top