美文网首页颠覆你的Python实践python自动化运维Python接口测试
【落叶272】“老兵爱学习”之《颠覆你的Python接口自动化测

【落叶272】“老兵爱学习”之《颠覆你的Python接口自动化测

作者: 秋之川 | 来源:发表于2017-08-17 22:44 被阅读117次
如果你想直接关注该课程,可保存该图片,长按识别二维码

【目录】

这是《落叶》文集里第 272 片落叶,希望你能喜欢,不为别的,只为这份坚持。

自己挖坑自己填,好记性不如烂笔头,尽在《老兵爱学习》

【已学习】

第四节课:Python 操作 MySQL

【问题五】:

昨天群里有同学遇到个问题,如下图。编译的时候报语法错误,出错的行是:except pymysql.Error , e:

问题五

【原因及解决方法】:

我第一反应是怀疑 pymysql 跟 import 语句里的模块名不一致导致的,很快就被排除不是的。另一个同学怀疑他是不是 pymysql 安装的不正确,导致不生效,于是我们建议他使用 MySQLdb。这时候,那位同学才说出他的 Python 版本是3.x,不是我们课程要求的 2.7 版本。

此处总结了第一个要点:在问题中,一定要说清楚问题涉及到的工具或包的版本。恰巧 Python 2.7 和 Python 3.x 是两个大的版本分支,各自支持的库并不完全一致,2.7 里支持的一些库,在3.x 里已经不支持了,或者说还没有支持。

在明确了出问题的 Python 版本之后,一位同学很快就指出了原因所在。如下图:Python 3.x 在异常处理的语法中,except pymysql.Error , e: 应该要写成:except pymysql.Error as e:

此处除了得知从 2.7 升级到 3.x 后,不仅仅是一些原来支持的库还没有很好地支持 3.x之外,就连一些原有的语法都有所变化。这其实给版本迁移带来了不少的成本,也就是在将 Python 2.7 开发的程序升级为 Python 3.x 时,需要注意原先使用的库是否依然支持,还是换了个名字,原先一些方法的用法是否还保持一致,以及以前的一些语法和写法,在新版本里是否有优化和改变。

【待学习】

第五节课:Python 发送 HTTP 请求(2017.08.18 周五晚 21:00)

作者简介:14 年测试 + 11 年项目管理 + 11 年团队管理 = 一个测试老兵

【目录】

相关文章

网友评论

  • 亭子青年:之前我也遇到过这些坑
    秋之川: @亭子青年 这下我也知道了,升级到3.x,要付出一些成本
    亭子青年:@秋之川 那天还在学习mysqldb,看了好一会理论,没有看官网文档的我伤不起,居然py3不支持
    秋之川: @亭子青年 跌跌撞撞不易啊
  • 亭子青年:至少我也入货这些坑

本文标题:【落叶272】“老兵爱学习”之《颠覆你的Python接口自动化测

本文链接:https://www.haomeiwen.com/subject/wqdnrxtx.html