我看到线程在Python中讨论反斜杠相关问题的问题。但我无法针对我遇到的问题得到具体答案。我想用字符串维护一个包含反斜杠的变量,并且不想改变它。当我尝试使用该字符串时,它会获得额外的反斜杠作为转义字符。我尝试过' r' (原始)修饰符 - 但它没有帮助。
Python 2.7.3 (default, Feb 27 2014, 19:58:35)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = r'\abc'
>>> s
'\\abc'
我有一个测试,我试图用' \'来获得一系列可能的值。但是当我拿出它们时,它并没有像预期的那样出现
>>> value = [r'"\1"', r'"\\1"', r'"\\\1"' ]
>>> for val in value :
... print value
...
['"\\1"', '"\\\\1"', '"\\\\\\1"']
['"\\1"', '"\\\\1"', '"\\\\\\1"']
['"\\1"', '"\\\\1"', '"\\\\\\1"']
我该怎么做
382 4
答案 0 :(得分:0)
您的字符串未更改。使用print语句打印实际的变量内容。在第二个示例中,您只打印整个列表而不是列表中的项目。
>>> s = r'\abc'
>>> print s
\abc
>>> value = [r'"\1"', r'"\\1"', r'"\\\1"' ]
>>> for val in value:
print val
"\1"
"\\1"
"\\\1"
答案 1 :(得分:0)
您正在打印的是字符串的表示,就像它们是普通字符串一样,它们不是。当您使用原始字符串文字,然后打印字符串时,任何转义字符(如\
)本身都会在表示中转义,从而导致\
符号的相乘。你的字符串很好。