python - Python 3-optparse-发生错误时如何更改返回值

标签 python error-handling python-3.x

我对optparse的返回值有疑问。当脚本找到未知参数时,它将退出并显示错误消息并返回值2(回显$?)。

我需要返回1,并且我还要设置自己的错误消息,该怎么办?

这是代码的一部分:

import sys
import re
import ast 
from optparse import OptionParser

parser = OptionParser(usage="usage: %prog [OPTIONS] ", version="%prog 1.0")

parser.add_option("", "--input",
              action="store", 
              dest="inputfile",
              default="stdin",
              help="Allow to set an input file. Default input is STDIN.")

(options, args) = parser.parse_args()
options_dictionary = vars(options)

最佳答案

好的,一天之后我找到了这个解决方案。我仍然不确定这是最好的,但对我有用。

try:
    (options, args) = parser.parse_args()
except SystemExit:
    print("Error: špatné vstupní parametry, začněte prosím s -h.",file=sys.stderr)
sys.exit(1)

关于python - Python 3-optparse-发生错误时如何更改返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16047647/

相关文章:

python-3.x - 在 python 中逐像素绘制圆圈

python - 是否有一种内存高效且快速的方式来加载大型 JSON 文件?

python - 在 python 中使用列表理解获取完整路径名

python - 如何打开 pyparsing 辅助函数的结果?

react-native - React Native不显示异步功能错误

python - Numba python3 出错 [GPU ufunc 要求数组参数具有准确的类型。]

python3.6 : KeyError: 'formatters'

python - 使用 SQLAlchemy/Alembic 时如何检查是否有挂起的迁移?

ruby-on-rails - Rails Validation表单中的整洁错误

powershell - 如何将命令行参数设置为整​​数,但是如果给定非数字值,请再次询问?