gpt4 book ai didi

python - 检查命令行参数的用法。选项

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:45 25 4
gpt4 key购买 nike

我正在使用usage.Options解析和检查命令行参数。

#!/usr/bin/python

from twisted.python import usage
import sys

class Options(usage.Options):
"""
Defines the default input parameters
"""
optParameters = [
["param", "p", 1, "Int Parameter", int],
]

if __name__ == "__main__":

options = Options()
try:
options.parseOptions()
except Exception, e:
print '%s: %s' % (sys.argv[0], e)
print '%s: Try --help for usage details.' % (sys.argv[0])
sys.exit(1)
else:
if options['param'] < 0 or options['param'] > 10:
print "param out of the range [0,10]"
sys.exit(1)

我不知道如何检查输入param的值是一个数字。如果用户不小心插入了字母,他会收到以下信息:

Parameter type enforcement failed: invalid literal for int() with base 10: 'd'

最佳答案

为什么不使用 optparse?

from optparse import OptionParser
options, args = parser.parse_args()

def args():
parser = OptionParser(usage='usage: %prog [options]', version='%prog 1.0.0')
parser.add_option(.....)
return parser

更新:

你可以有这样的东西。添加并替换您想要的所有内容:

class Main:
def __init__(self):
parser = self.get_arg()
self.set_arg(parser)

def set_arg(self, parser):
options, args = parser.parse_args()
if len(sys.argv) == 1:
print 'Error: Usage: python %s <options>' % sys.argv[0]
sys.exit()
input_file = options.input_file
flag = options.flag

def get_arg(self):
parser = OptionParser(usage='usage: %prog [options]', version='%prog 1.1.0')
parser.add_option('-i', '--input-file', action='store', type='string', dest='input_file', default=None,
help='Input file.')
parser.add_option('-f', '--flag', action='store_true', dest='flag', default=False,
help='A flag in your app')
return parser

if __name__ == '__main__':
Main()

关于python - 检查命令行参数的用法。选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35432753/

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