如何优雅地在Python中实现版本检查而不影响缩进?

2024-04-27 02:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想非常优雅地集成Python中的版本检查。你知道吗

但是,我不希望版本检查例程抛出所有代码的缩进。你知道吗

if old_version:
   print 'hey, upgrade.'
else:
  # main body of whole script

在上面的实现中,整个脚本的主体将需要缩进一个级别,这非常混乱。你知道吗

有更好的办法吗?你知道吗


Tags: of代码版本ifmainversionscriptbody
3条回答

你能做到的

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

如果代码需要升级,就会退出解释器。你知道吗

返回非零退出代码的原因是,如果您的程序是从unixshell脚本调用的,并且需要升级,那么shell将检测到存在问题,并且用户将知道该问题(而不是您的程序以静默方式失败)。你知道吗

PS:正如现在删除的答案中所建议的,您也可以改为执行sys.exit("hey, upgrade")。这会根据情况自动返回退出代码1。你知道吗

怎么样

if old_version:
    raise Exception ('Hey, upgrade')

什么?你知道吗

好吧,这取决于是否需要升级。你知道吗

只有在没有将代码放入函数中时,这才应该是一个问题。你知道吗

如果你不把你的代码放在函数里,你应该这样做。你知道吗

相关问题 更多 >