在Python中使用反斜杠和引号的字符串是很多问题

时间:2014-11-20 07:53:32

标签: python quotes backslash

我是一个正常的字符串,我喜欢发送到一个程序,它只能以"\"text\""的形式吃掉我的字符串,就像那样。但是在Python中,我print可以这样,但我无法像那样分配它。请参阅以下内容:

我的文字:

In [12]:

i = fieldList[0]
print str(i.name)
Y03M01D01

我可以print作为"\"text\""

In [13]:

field_new = '"\\"'+str(i.name)+'\\""'
print field_new
"\"Y03M01D01\""

但这就是程序吃掉它的方式

In [14]:

field_new
Out[14]:
'"\\"Y03M01D01\\""'

哪个不等于"\"text\"",所以我的代码失败了。 有任何建议如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在比较中使用字符串的r前缀将python视为原始字符串(所有反斜杠都是未转义的)。

>>> i = "text"
>>> field_new = '"\\"'+str(i)+'\\""'
>>> field_new
'"\\"text\\""'
>>> field_new == r'"\"text\""'
True