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

far*_*zad 3 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):
Run Code Online (Sandbox Code Playgroud)

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

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

更新:

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

size = long(size) if size != None else self._size
Run Code Online (Sandbox Code Playgroud)

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

$var = (condition) ? $valueIfTrue : $valueIfFalse;
Run Code Online (Sandbox Code Playgroud)

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

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

Gre*_*ill 8

我刚才写了一个脚本来帮助回答这个问题:pyqver.

此脚本尝试识别执行特定源文件所需的最低Python版本.

在开发用于分发的Python脚本时,需要确定需要哪个最低版本的Python解释器.pyqver尝试使用Python编译器输出的简单分析来回答这个问题.

使用该-v选项列出脚本需要特定最低版本的原因.这对于决定要更改哪些内容以使脚本使用特定版本的Python非常有用.

一如既往,随意分叉并做出贡献!

  • 神圣的废话,格雷格.那很有用.我希望我能+5. (4认同)