当字符串逃过我有以下代码:的Python:创建一个元组
string = "ad\23e\4x{\s"
data = (string,)
当我打印我的元组字符串必须为每个额外的斜线的数据一共有6个反斜杠凶多吉少。
如何避免多余的反斜杠?
当字符串逃过我有以下代码:的Python:创建一个元组
string = "ad\23e\4x{\s"
data = (string,)
当我打印我的元组字符串必须为每个额外的斜线的数据一共有6个反斜杠凶多吉少。
如何避免多余的反斜杠?
对象data
是一个元组。当你打印一个元组时,Python为每个元素调用repr
。如果您想以另一种方式进行格式化,您必须自己进行转换。
>>> s = "ad\23e\4x{\s"
>>> d = (s,)
>>> print d
('ad\x13e\x04{\\s',)
>>> print '(%s,)' % (', '.join('"%s"' % _ for _ in d))
("adex{\s")
你的意思是这样的吗?
In [11]: string = r'ad\23e\4x{\s'
In [12]: string
Out[12]: 'ad\\23e\\4x{\\s'
In [13]: print string
ad\23e\4x{\s
In [14]: data=(string,)
In [15]: data
Out[15]: ('ad\\23e\\4x{\\s',)
In [16]: print data
('ad\\23e\\4x{\\s',)
In [17]: print data[0]
ad\23e\4x{\s
这些额外的反斜杠实际上不是在你的字符串,它们是Python的有多么代表字符串(的想法是,你可以粘贴回一个程序,它会工作)。这是因为元组的__str__()
实现在每个项目上调用repr()
。如果你print string
或print data[0]
你会在字符串中看到实际上是。
感谢您的回复。我想要像这样在元组中格式化字符串:'code'“ad \ 23e \ 4x {\ s” 'code' –