您可能知道Windows合规性工具,可帮助人们了解任何版本的MS OS是否支持其代码。
我正在寻找类似于Python的东西。
我正在用Python 2.6编写一个lib,我意识到由于使用了with关键字,它与Python 2.5不兼容。
我想知道将来是否有一种简单而自动的方法来避免这种情况。
我也对类似知道支持哪种操作系统感兴趣。
感谢您的帮助
答案 0 :(得分:7)
在回复a previous question about this时,我写了pyqver。如果您有任何改进,请随意分叉并做出贡献!
答案 1 :(得分:6)
我建议您使用自动化测试而不是代码分析工具。
请注意,您的代码可能会或可能不会依赖Python标准库中的细微行为更改。例如httplib
:上传文件时,将数据设为str
是正常的。在Python 2.6中,你可以给出流对象(对于> 1GB文件很有用),如果你正确地推动它们,但是在Python 2.5中你会得到一个错误。
一套全面的单元测试和集成测试将更加可靠,因为它们会测试您的程序在Python X.Y上实际工作。
$ python2.6 tests/run_all.py
.................................
33 tests passed
[OK]
你兼容Python 2.6。
$ python2.4 tests/run_all.py
...........EEE.........EEE.......
27 tests passed, 6 errors
[FAIL]
你不 Python 2.4兼容。
答案 2 :(得分:0)
Python 2.5仍然可以保存,因为它可以使用with关键字:
from __future__ import with_statement