gpt4 book ai didi

python - 在python中检测整数除法

转载 作者:太空狗 更新时间:2023-10-30 02:53:30 27 4
gpt4 key购买 nike

我必须让 Python 2 跳到 3。整数除法是唯一让我害怕的东西。我们的test suite是可以的,但是不一定要设置审查师。是否有某种包装器或环境或黑客可以从中运行可以检测何时使用整数除法的脚本?我主要在 Windows 上使用 Anaconda Python 2.7。

最佳答案

您可以使用 python 2 引擎运行您的代码,但使用 -3 开关:

L:\>Python27_X64\python.exe -3 test.py
test.py:1: DeprecationWarning: classic int division
i = 2/3

如果你想在 python 2 或 3 中有相同的行为,使用

from __future__ import division

在您运行的每个模块开始时:现在除法是 float 的,除非您使用 //

这是一个运行时选项而不是静态选项,因此您需要很好地覆盖您的代码以捕获它们。例如,它没有检测到该代码上的任何内容:

if False:
i = 2/3

-3 开关还将检测其他不兼容性(不是全部)而不会中断,因此您可以一次修复它们。

除此之外,除法并不是最难的问题。字符串 vs 字节位很烦人。考虑一下:

with open("toto.txt","wb") as f:
f.write("foo")

这在 Python 3 中现在无效(字符串不能写入二进制流),-3 脚本不会检测到这一点。

关于python - 在python中检测整数除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49324077/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com