python - 如何使用 .format() 打印字符串,并在替换的字符串周围打印文字花括号

这个问题在这里已经有了答案:
关闭10年前.

Possible Duplicate:
How can I print a literal “{}” characters in python string and also use .format on it?

基本上,我想使用.format(),像这样:

my_string = '{{0}:{1}}'.format('hello', 'bonjour')

并让它匹配:

my_string = '{hello:bonjour}' #this is a string with literal curly brackets

但是,第一段代码给了我一个错误。

大括号很重要,因为我使用 Python 通过基于文本的命令与软件进行通信。我无法控制 fosoftware 期望什么样的格式,所以我最终整理所有格式是至关重要的。它在字符串周围使用大括号来确保字符串中的空格被解释为单个字符串,而不是多个参数 - 就像您通常在文件路径中使用引号一样。

我目前正在使用旧方法:

my_string = '{%s:%s}' % ('hello', 'bonjour')

这当然可行,但 .format() 似乎更易于阅读,并且当我在一个字符串中发送包含五个或更多变量的命令时,可读性成为一个重要问题。

谢谢!

最佳答案

这是新样式:

>>> '{{{0}:{1}}}'.format('hello', 'bonjour')
'{hello:bonjour}'

但我认为转义有点难以阅读,所以我更喜欢切换回旧样式以避免转义:

>>> '{%s:%s}' % ('hello', 'bonjour')
'{hello:bonjour}'

https://stackoverflow.com/questions/8334792/

相关文章:

php - 格式化 MySQL 查询的结果,就好像它是从控制台运行的一样

r - xtable 用于条件单元格格式化表格的重要 p 值

c# - 大写的UTF-8?

css - 无法使用 class=pull-right 或 float :right 向右浮动 tw

python - 我应该如何在 python 中缩进三元条件运算符以使其符合 PEP8?

python - 如何在 Python 格式说明符中使用变量名

layout - Mathematica 中的 2 列文档

c# - 使用对象初始化器时修复缩进

python - 在 OSX 上使用格式语言的德语数字分隔符?

c++ - 对于 GCC <5,是否有 std::put_time 的内置替代方案?