Juster
Фев. 5, 2007 21:27:42
Привет всем.
Поделитесь кодом для разбора CLI параметров в стиле Unix, хотелось-бы попроще. Чтобы можно было легко добавлять обязательные и необяз. параметры итд.
Juster
Фев. 10, 2007 19:35:48
Подскажите плиз, как сделать чтобы optparse читал опции справа на лево.
И еще вопросик, есть код:
#!/usr/local/bin/python
# -*- coding: koi8-r -*-
from optparse import OptionParser
parser = OptionParser()
parser.add_option(“-f”, “–file”, dest=“filename”,
help=“write report to FILE”, metavar=“FILE”)
parser.add_option(“-q”, “–quiet”,
action=“store_const”, const=0, dest=“verbose”)
parser.add_option(“-v”, “–verbose”,
action=“store_const”, const=1, dest=“verbose”)
parser.add_option(“–noisy”,
action=“store_const”, const=2, dest=“verbose”)
options, args = parser.parse_args()
Он может парсить так:
$ ./arg.py -q -f/dev/acd0
$ ./arg.py -q -f/dev/acd0 something
$ ./arg.py –file=/dev/fd0 -v something
$ ./arg.py something
итд, вопрос как обработать “something”, т.е в итоге вывести ошибку о том что “something” в этих местах не ожидается. Оно вобщем-то не мешается, но…
Mkdir
Фев. 13, 2007 05:44:46
Для начала не
#!/usr/local/bin/python, а
#!/usr/bin/env pythonПотому что у меня нет такого пути как /usr/local/bin/python. Питон у всех по-разному лежит.
Вообще, я бы поставил в конце исходника строки:
print options
print args
Затем передавал бы скрипту различные аргументы и смотрел бы результаты.
Если бы я так сделал, то сразу бы стало понятно как определить ситуацию с запуском: $./arg.py something
И, в результате, я бы сделал так:
if args:
print "Warning: medved has been created."
или для большей наглядности так:
if len(args) > 0:
print "Error: medved already exists."