明らかに、ur""
の構文はPython 3では無効になっています。しかし、私はそれが必要です! 「なぜですか?」、あなたが尋ねるかもしれません。まあ、u
という接頭辞はユニコード文字列であり、コードはPython 2で動作する必要があります。r
接頭辞は多分必須ではありませんが、私が使用しているマークアップ形式には多くのバックスラッシュが必要です間違いを避けるために役立ちます。Python 2とPython 3で有効な未加工のUnicodeリテラル?
は、私はPythonの2で何をしたいんが、Pythonの3に違法である例である:
tamil_letter_ma = u"\u0bae"
marked_text = ur"\a%s\bthe Tamil\cletter\dMa\e" % tamil_letter_ma
この問題に出くわすの後、私はhttp://bugs.python.org/issue15096を発見し、この引用気づい:
をその限界を克服するのは簡単です。
どのように考えてもらえませんか?
関連:What exactly do "u" and "r" string flags do in Python, and what are raw string literals?
-1;これは、Python 2とPython 3の両方で同時に有効な生のUnicodeリテラルを書く方法である質問のポイントを逃している。 –