Найти - Пользователи
Полная версия: optparse и пустой ключ
Начало » Python для новичков » optparse и пустой ключ
1
FroL
Есть простейший код:
from optparse import OptionParser

parser = OptionParser()
parser.add_option("-f", "--file", dest = "file")

(options, args) = parser.parse_args()

print options.file
Когда с ключом подаешь параметр все нормально:
# python cli.py -f name
name

Но когда ключ пустой конечно же выскакивает ошибка:
usage: cli.py
cli.py: error: -f option requires an argument

Как мне поймать эту ошибку и вывести свое предупреждение?
magnet85
optparse устаревший модуль, в дальнейшем он будет удалён, вместо него используйте argparse:
# -*- coding: utf-8 -*-
import argparse

parser = argparse.ArgumentParser(description='About on this programm')
#nargs='?' - разрешает использовать -f без парамметров
parser.add_argument('-f', '--file', nargs='?', dest='file')
args = parser.parse_args()
# Проверяем на наличие аргументов
if args.file:
print args.file
else:
print "Error message"
FroL
Спасибо за ответ, но у меня версия питона 2.4.3, а модуль argparse идет с версией 3.2
lavrton
Может проще ручная манипуляция с sys.argv?
FroL
Да вот надо именно с ключа( - в моем понимании руками проще, но требуют именно ключи.
magnet85
FroL
Спасибо за ответ, но у меня версия питона 2.4.3, а модуль argparse идет с версией 3.2
Ну можно же установить его, http://pypi.python.org/pypi/argparse
FroL
Большое спасибо) Все заработало
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