python中format方法输出{}的应用

看 笨方法学python第三版 的时候习题46,想写一个python脚本自动在当前目录下创建项目骨架。详见
https://blog.csdn.net/m0_46287920/article/details/108411841添加链接描述

其中需要将一些内容写入一个文件,需要用到format方法,但出现了一个问题。简化版的问题代码如下:

project_name = 'test'
setup_config = '''
config = {
    'description': '{0}',
    'author': 'Author Name',
}
'''.format(project_name)
print(setup_config)

运行时出现异常:
KeyError: “\n ‘description’”
KeyError是查找字典中的键时键不存在返回的错误。作为替代方法,我暂时先用了%格式化输出:

project_name = 'test'
setup_config = '''
config = {
    'description': '%s',
    'author': 'Author Name',
}
''' % project_name
print(setup_config)

可以正常运行 。

我想到了在format中用{{}}来输出{}的问题,多试几次,发现:

project_name = 'test'
setup_config = '''
config = {{
    'description': '{0}',
    'author': 'Author Name',
}}
'''.format(project_name)
print(setup_config)

就可以正常运行,但第一段的代码中{0}是高亮显示的。

我猜测可能是format方法中,误以为:

{
    'description': '{0}

{到:这之间的内容是键,: 后面的是指定格式,但我没有给出键,因为想使用0作为键。由于我使用的vs code高亮了{0},可能解释器和编辑器的理解不一样。

总结:要用format方法输出{},不论出现在字符串的哪里,都应该使用双括号来替代{},才可以正确识别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值