我想非常优雅地在 Python 中集成版本检查。
但是,我不希望版本检查例程取消我所有代码的缩进。
即
if old_version:
print 'hey, upgrade.'
else:
# main body of whole script
在上面的实现中,整个脚本的主体需要缩进一级,这很困惑。
有没有更好的办法?
最佳答案
你可以做到
import sys
if old_version:
print 'hey, upgrade.'
sys.exit(1) # A non-zero code indicates failure, on Unix (sys.exit() exits too, but it returns a 0 [=success] exit code)
# main body of whole script
如果代码需要升级,这将退出解释器。
返回非零退出代码的原因是,如果您的程序是从 Unix shell 脚本调用的并且需要升级,shell 将检测到存在问题并且用户会知道(而不是您的程序静默失败)。
PS:正如现在已删除的答案中所建议的那样,您也可以改为执行 sys.exit("hey, upgrade")
。这会根据需要自动返回退出代码 1。
关于python - 如何在 Python 中优雅地实现版本检查而不丢掉缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708634/