在 python 中使用可选的 "replacement fields" 进行格式化
formatting with optional "replacement fields" in python
有这样一段代码:
text = "{first}, {second}, {etc}"
print(text.format(first="1", etc="34.."))
当它被执行时,我(预期)得到一个 KeyError
.
我的问题是:
是否可以使格式化不影响 second
,而只保留 "{second}"
?
也就是说,就我而言,我想得到:1, {second}, 34..
假设我事先不知道要格式化哪个字段,那怎么办?
我决定创建一个库来解决这个问题:pyformatting。
这是 pyformatting 问题的解决方案:
>>> from pyformatting import optional_format
>>> text = "{first}, {second}, {etc}"
>>> optional_format(text, first="1", etc="34..")
'1, {second}, 34..'
唯一的问题是pyformatting不支持python 2. pyformatting支持python 3.1+
如果我看到任何关于需要 2.7 支持的反馈,我想我会添加该支持。
有这样一段代码:
text = "{first}, {second}, {etc}"
print(text.format(first="1", etc="34.."))
当它被执行时,我(预期)得到一个 KeyError
.
我的问题是:
是否可以使格式化不影响 second
,而只保留 "{second}"
?
也就是说,就我而言,我想得到:1, {second}, 34..
假设我事先不知道要格式化哪个字段,那怎么办?
我决定创建一个库来解决这个问题:pyformatting。
这是 pyformatting 问题的解决方案:
>>> from pyformatting import optional_format
>>> text = "{first}, {second}, {etc}"
>>> optional_format(text, first="1", etc="34..")
'1, {second}, 34..'
唯一的问题是pyformatting不支持python 2. pyformatting支持python 3.1+ 如果我看到任何关于需要 2.7 支持的反馈,我想我会添加该支持。