Найти - Пользователи
Полная версия: Разбор параметров в стиле юникс
Начало » Python для экспертов » Разбор параметров в стиле юникс
1
Juster
Привет всем.
Поделитесь кодом для разбора CLI параметров в стиле Unix, хотелось-бы попроще. Чтобы можно было легко добавлять обязательные и необяз. параметры итд.
Juster
Подскажите плиз, как сделать чтобы 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
Для начала не #!/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."
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB