How can I print a string using .format(), and print literal curly brackets around my replaced string
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How can I print a literal “{}” characters in python string and also use .format on it?
基本上,我想使用.format(),如下所示:
1 | my_string = '{{0}:{1}}'.format('hello', 'bonjour') |
让它匹配:
1 | my_string = '{hello:bonjour}' #this is a string with literal curly brackets |
但是,第一段代码给了我一个错误。
花括号很重要,因为我使用python通过基于文本的命令与软件进行通信。我无法控制FoSoftware期望的格式,所以我必须整理出最终的所有格式。它在字符串周围使用大括号,以确保字符串中的空格被解释为单个字符串,而不是多个参数,就像通常在文件路径中使用引号一样。
我目前使用的是旧方法:
1 | my_string = '{%s:%s}' % ('hello', 'bonjour') |
当然可以,但是.format()似乎更容易读取,当我在一个字符串中发送包含五个或更多变量的命令时,可读性就成了一个重要问题。
谢谢!
这里是纽约的风格: P / < >
1 2 | >>> '{{{0}:{1}}}'.format('hello', 'bonjour') '{hello:bonjour}' |
但我的思考,escaping也有点难读,所以我prefer到开关,后到老年的风格来避免escaping: P / < >
1 2 | >>> '{%s:%s}' % ('hello', 'bonjour') '{hello:bonjour}' |