zoukankan      html  css  js  c++  java
  • Python 3.2 中adodbapi的问题

    一直在使用Python 2.X,最近想测试一下最新的Python 3.2.下载了ActivePython 3.2,PyQt4,Eric5,安装配置完环境.

    因为原系统中使用adodbapi连接MSSQL 数据库,所以首先测试一下adodbapi.在ActivePython 3.2中,默认安装了adodbapi的2.4版本,我就直接测试了一下连接数据库.

    没想到简单地连接操作就报告错误,一看,是adodbapi.py中的错误,在其中有这样声明的异常处理:

    raise er,'No such key as "%s" in %s'%(repr(key),self.__repr__()),tr

    就这这里报告错误.然后查看了一下Python 3.2的说明:

    raise
    Converts raise E, V to raise E(V), and raise E, V, T to raise E(V).with_traceback(T). If E is a tuple, the translation will be incorrect because substituting tuples for exceptions has been removed in 3.0.

    原来异常的报告方式发生了变化,就像Print一样.

    直接修改为:

    raise (er,'No such key as "%s" in %s'%(repr(key),self.__repr__()),tr)

    然后调试通过 .

    奇怪的是ActivePython 3.2的发行版中怎么还有这个错误?我直接登录adodbapi的网站:

    http://sourceforge.net/projects/adodbapi

    查看了一下最新版本,这个错误也没有修复.

    ,难道是我错了?不太清楚.

    Python 3.X相对2.X改动比较大,兼容性不好,如果在3.X下直接编译2.X下的代码,会出现很可观的错误提示,好像官方有2to3工具,没有使用,不知道效果如何.

  • 相关阅读:
    进程的由来
    进程管理逻辑图
    OS的特征

    4.6 路由相关
    设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?
    如何测试一个纸杯?
    软件产品质量特性是什么?
    一个京东登录的安全漏洞
    文章、书阅读
  • 原文地址:https://www.cnblogs.com/GarfieldTom/p/1986688.html
Copyright © 2011-2022 走看看