使用是否正确
if str is bytes: ...
而不是
if sys.version_info < (3,): ...
区分 Python2 和 Python3? 特别是当由于str可能不是unicode而需要版本依赖代码时,前者有时对我来说似乎更清晰(并且避免了经常无端的导入系统(,但我从未见过使用此测试的python代码。 "str is bytes"只是作为版本 2 CPython 的一个怪癖,还是在所有 python2 中都有保证?
请使用sys.version_info < (3,)
告诉读者您正在尝试识别 python2 案例。