哇,这应该很简单,但就是行不通。 我需要在字符串中插入一个“\”(用于 Bash 命令),但转义不起作用。
>>> a = 'testing'
>>> b = a[:3] + '\' + a[3:]
>>> File "<stdin>", line 1
>>> b = a[:3] + '\' + a[3:]
^
>>>SyntaxError: EOL while scanning string literal
>>> b = a[:3] + '\\' + a[3:]
>>> b
'tes\\ting'
>>> sys.version
'2.7 (r27:82500, Sep 16 2010, 18:02:00) \n[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)]'
第一个错误是可以理解和解释的。最后的引语被吃掉了,口译员吐了。 但是,第二个示例应该有效。为什么有两个斜杠?
python 2.7
谢谢,
编辑:谢谢 Greg。在解释器上工作而不使用 repr(b) 是一个问题。 Python 工作正常,但我没有看到正确版本的输出。
请您参考如下方法:
您被 Python 的输出误导了。尝试:
>>> a = "test\\ing"
>>> print(a)
test\ing
>>> print(repr(a))
'test\\ing'
>>> a
'test\\ing'
