Je développe un programme qui reçoit des arguments et voudraient faire certains d'entre eux nécessaires, mais je steping dans certains problèmes:optparse et beaucoup de sinon
- Je dois vraiment faire le code Python 2.4.x conforme, donc je (au moins penser que) ne peut utiliser optparse
- voudrais éviter l'obscurité de code
Voici ce que je fait:
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
Je suppose que c'est OK, mais je ne pense vraiment pas que ce soit Pythonic. Existe-t-il un meilleur moyen de vérifier cette condition?
Cheers,
Fonctionne bien, merci. Je suppose que nous ne pouvons pas aller plus Pythonic que ceci, sauf si un meilleur module est utilisé. – mvarge