哇,这应该是这么简单,但它只是不起作用.我需要将一个"\"插入一个字符串(对于一个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)]'
Run Code Online (Sandbox Code Playgroud)
第一个错误是可以理解和被驱逐的.最后的报价正在被吃掉,而翻译也是barfs.但是,第二个例子应该有效.为什么有两个斜杠?
Python 2.7
谢谢,
编辑:谢谢格雷格.在翻译工作而不使用repr(b)是一个问题.Python工作正常,但我没有看到正确的输出版本.
你被Python的输出误导了.尝试:
>>> a = "test\\ing"
>>> print(a)
test\ing
>>> print(repr(a))
'test\\ing'
>>> a
'test\\ing'
Run Code Online (Sandbox Code Playgroud)