python - 如何在 Python 中优雅地实现版本检查而不丢掉缩进?

标签 python

我想非常优雅地在 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/

相关文章:

python - boto SQS NoSuchVersion 错误

python - Scipy.optimize 最小化花费的时间太长

python - 如何使用CSRF token进行跨域Ajax调用?

Python 将 0 评估为 False

python - 多处理——使用管理器命名空间来节省内存

python 锯齿数组运算效率

python - 使用埃拉托斯特尼筛法给定范围内的素数

python - Flask 分页问题

python - 写入 BigQuery 动态表名 Python SDK

python - 是否可以将 MultiIndex 分配给空 DataFrame?