python 使用format的一个小问题

之前遇到一个场景,具体是需要使用python 操作mysql 数据库,
大概需要这种操作:

In [96]: '{%s!r}' % 'test'
Out[96]: '{test!r}'

如果不使用% 进行格式化操作,而是使用format,在这里貌似会有点问题,
如何通过format 完成与上述代码相同的结果呢???

#报错
In [98]: '{{}!r}'.format('test')
Traceback (most recent call last):

  File "<ipython-input-98-92672338fd48>", line 1, in <module>
    '{{}!r}'.format('test')

ValueError: Single '}' encountered in format string

#报错
In [99]: '\{{}\!r\}'.format('test')
Traceback (most recent call last):

  File "<ipython-input-99-3129657347bd>", line 1, in <module>
    '\{{}\!r\}'.format('test')

ValueError: Single '}' encountered in format string

#报错
In [100]: '\{{}!r\}'.format('test')
Traceback (most recent call last):

  File "<ipython-input-100-ba83055a28fe>", line 1, in <module>
    '\{{}!r\}'.format('test')

ValueError: Single '}' encountered in format string

# 绕过去,但是不太正规不是嘛,我是想用`format` 解决!
In [101]: '{A!r}'.replace('A', 'test')
Out[101]: '{test!r}'
已解决该问题

原来在format 中使用{{来进行转义的,而不是\


In [106]: '{{{}!r}}'.format('test')
Out[106]: '{test!r}'

官方文档这个也没个说明,搜半天没搜到类似的,还是请教的前同事圆满解决。。。

解决后google搜到了,链接为:python字符串中包含大括号时怎么使用sting的.format方法?

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值