2

書けるってすごいな

s = r"some line\n"

しかし、プリプレディングと同等の機能は何rですか? 例えば:

s = raw_rep( s )
4

2 に答える 2

3

1つもありません。は文字列リテラル tokenrの不可欠な部分であり、これを省略すると損失の多い操作になります。

たとえばr'\n'r'\12'r'\x0a'は 3 つの異なる文字列です。ただし、 を省略するrと、同じものになり、そもそも 3 つのうちのどれであったかを判別できなくなります。

このため、これは 100% の確率で元の文字列を再構築する方法ではありません。

于 2013-03-28T16:34:12.667 に答える
2
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'
于 2013-03-28T16:53:15.753 に答える