gpt4 book ai didi

python - Optparse 和很多 if not

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:56 24 4
gpt4 key购买 nike

我正在开发一个接收一些参数并希望其中一些参数成为必需参数的程序,但我遇到了一些问题:

  1. 我确实需要使代码与 Python 2.4.x 兼容,所以我(至少是这么认为)只能使用 optparse
  2. 希望避免代码晦涩难懂

这是我做的:

def usage():
parser = OptionParser()
parser.add_option('-i', '--item', dest='item')
parser.add_option('-m', '--monitor', dest='monitor')
parser.add_option('-s', '--service', dest='service')
parser.add_option('-u', '--status', dest='status')
parser.add_option('-a', '--match', dest='match')
parser.add_option('-v', '--value', dest='value')
parser.add_option('-o', '--hostname', dest='hostname', default='')
parser.add_option('-t', '--test', action='store_true', dest='test')
parser.add_option('-U', '--url', dest='URL', default='')
parser.add_option('--verbose', action='store_true', dest='verbose')

(options, args) = parser.parse_args()

if not options.item or not options.monitor or not options.service or \
not options.status or not options.match or \
not options.value:
parser.print_help()
sys.exit(-1)

return options

我想这没问题,但我真的不认为这是 Pythonic。有没有更好的方法来进行这种条件检查?

干杯,

最佳答案

您可以定义一组必需的选项,例如...

required_options = [options.monitor, options.service, ...]

检查

if not all(required_options):
...

关于python - Optparse 和很多 if not,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35338081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com