書けるってすごいな
s = r"some line\n"
しかし、プリプレディングと同等の機能は何r
ですか? 例えば:
s = raw_rep( s )
1つもありません。は文字列リテラル tokenr
の不可欠な部分であり、これを省略すると損失の多い操作になります。
たとえばr'\n'
、r'\12'
とr'\x0a'
は 3 つの異なる文字列です。ただし、 を省略するr
と、同じものになり、そもそも 3 つのうちのどれであったかを判別できなくなります。
このため、これは 100% の確率で元の文字列を再構築する方法ではありません。
def raw_rep(s):
quote = '"' if "'" in s else "'"
return 'r' + quote + s + quote
>>> print raw_rep(r'some line\n')
r'some line\n'