ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

自2.2.3版以来python发生了重大变化

2019-07-17 04:58:09  阅读:269  来源: 互联网

标签:python changelog


我写了一个小的python脚本来创建文件并计算时间.我在Fedora 10和Ubuntu 8.x上进行了测试,效果很好. python版本是2.5.x.

我试图在我的生产服务器(一个旧的基于red hat的Linux服务器)上运行它,python的版本是2.2.3.该脚本不起作用,并在类定义中引发语法错误.

该脚本定义了一个类,其方法是在磁盘上创建文件,测量时间,估计磁盘写入速度.它是这样开始的:

class TestDiskSpeed():
    def __init__(self, rounds=1, speedMode=SPEED_MODE_MEGABYTE):

类定义被python 2.2.3指向为错误.

自2.2.3以来python中的主要变化是什么,可能会导致我的应用程序崩溃?我正在使用这些模块:os,sys,time,stat,gc.

更新:

通过从类定义中删除()python接受了该类.但它在这一行上引发了另一个错误:

size = long(size) if size != None else self._size

我是一名PHP开发人员,刚刚进入python编程(也许一个月),我非常习惯于在PHP中完成的三元操作,如下所示:

$var = (condition) ? $valueIfTrue : $valueIfFalse;

我搜索并发现它在python中完成,就像我用于我的size变量.虽然看来python 2.2.3不喜欢它.

我打算在这里插入所有代码(我将以LGPL的形式发布脚本),但代码超过150行(仍处于开发阶段).

解决方法:

这很奇怪,因为如果删除类定义中的(),它会编译.然而,documentation说空的parens没关系.

由于你使用了很多python 2.5功能,所以找到它们将是一项艰苦的工作.我建议阅读2.2和2.5之间的每个版本的“Python中的新功能”,然后提供一些您可能能够搜索到的功能列表,例如:

>理解和发电机
>三元表达
>装饰者
>新式课程

幸运的是,大多数新功能都带有一个新的语言关键字(或者使用关键字的新方式,对于三元x,如果是其他的话),所以对它们来说应该不难.

标签:python,changelog
来源: https://codeday.me/bug/20190717/1484996.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有