我有一个由用户调用的例如python script.py
或python3 script.py
的python脚本。如果此脚本引发错误,则使用python版本很重要。在所有错误消息中打印python版本
当然,我可以向用户询问用于执行script.py的命令,但是这可能无法解析python版本。 python
可能是python3.4
或python2.7
的别名。
我知道我可以在脚本中打印sys.version
。但是我不想在每次运行该脚本时都打印它,只是在出现错误的情况下。
因此,另一个想法是简单地将整个脚本包装在try, except
块中。
import sys
try:
# original content of script.py
except:
print("Using python version {0}".format(sys.version))
raise
但是,这看起来不像pythonic对我来说。那么是否有更加优雅的解决方案可以将sys.version
添加到每个错误消息中?
这个问题不是How do I check what version of Python is running my script?的重复,因为我不想检查版本信息。我的脚本应该运行所有版本的python。但是,自定义消息(本例中为sys.version
)应附加到堆栈跟踪。
如何在每次启动脚本时打印'sys.version'? –
是什么东西? https://stackoverflow.com/questions/446052/how-can-i-check-for-python-version-in-a-program-that-uses-new-language-features –
如果你使用'logging'你可以将其添加到输出格式 –