前言

今天简答写了一个爬虫,利用 % 格式化输出总是有问题
第一种写法:

url = 'https://yysygw.res.netease.com/pc/gw/20190826151318/data/b_rabbit/bot%20(%s).png' % str(i)

然后报错,当时我没想太多,就以为是因为字符串中的()影响的
当然,字符串拼接有太多种办法了,我立马就换了另一种
第二种写法:

url = 'https://yysygw.res.netease.com/pc/gw/20190826151318/data/b_rabbit/bot%20('+str(i)+').png'

这种写法没有报错,然后我就采用了这种写法,当然也可以采用f-string,不过我当时为了写比较兼容性的代码采用第二种写法,而没采用 f-string

在我弄完这个简单爬虫后,我突然想到,我要好好研究一下,到底是什么地方导致的 格式化字符串报错,然后查询了一下收获还不小

首先这种报错跟字符串中含有 ()完全没关系,是因为字符串含有其他的%,所以你要输出% 需要转义,要使用%%进行转义操作。神奇的转义

另外竟然还有这种写法!

print("I'm %(name)s. I'm %(age)d year old" % {'name':'Hom', 'age':30})

格式化输出字典中的值
感谢
https://www.jianshu.com/p/93a5aad011eb
这篇文章的作者,让我受益良多!

最新文章

  1. 【BZOJ-3627】路径规划 分层图 + Dijkstra + spfa
  2. poj2763
  3. SQLiteDeveloper破解
  4. 前端模板Juicer
  5. [转]maven创建自定义的archetype
  6. Python基本数据类型之set
  7. 关于matlab鼠标响应
  8. C#数组集合使用 排序的问题
  9. eclipse中我要同时看两个console
  10. [系统启动]Printk与sched_clock_init的一点分析
  11. CheckForIllegalCrossThreadCalls = false
  12. 新版ios证书的申请
  13. java中next()和nextLine()的区别
  14. 使用vlfeat 包中遇到的问题
  15. 一起来学习linux创建用户useradd命令
  16. Python中的正则表达式(re)
  17. tensorflow动态设置trainable
  18. Android 8.0 NavigationBar 颜色问题。
  19. 【linux】Linux查看各类日志
  20. angular一些常用的方法:

热门文章

  1. kafka的auto.offset.reset详解与测试
  2. 官方使用logstash同步Mysql数据表到ES的摘抄
  3. KubeOperator安装好后默认会占用80端口,替换成其他端口
  4. 记录Gerrit2.8.4环境迁移、安装、配置以及问题解决
  5. 【前端必会】eslint搞起
  6. centos7中配置java + mysql +jdk +使用jar部署项目
  7. MySQL实战,SQL语句
  8. bfs与dfs基础
  9. Centos7使用sendEmail-v1.56发送邮件
  10. 三十三、HPA实现自动扩缩容