Уведомления

Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Июль 11, 2007 19:29:50

felix
От:
Зарегистрирован: 2007-07-10
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача параметров через getopt

Хочу спросить можно ли сделать вот такое с помощью getopt
script -log DADA -act VOTE
Чтобы передавать аргументы за опциями, а не сразу опции а затем аргументы, после чего, не понятно какие аргументы будут относиться каким параметрам?
Или это реализуется через другой модуль?
Если можно приведите код…



Офлайн

#2 Июль 11, 2007 20:22:06

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Передача параметров через getopt

можно. Но лучше использовать optparse - тоже станандартный.
Примеры - в хелпе к нему неплохо описаны.



Офлайн

#3 Июль 11, 2007 22:02:25

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2171
Репутация: +  36  -
Профиль   Отправить e-mail  

Передача параметров через getopt

ну например


opts, args = getopt.getopt(sys.argv, ‘x:v’,)
for o, a in opts:
if o in ('-x','–ix'):
print a #значение -x
zna4enie_x = a
if o in ('-v', ):
VERBOSE = 1
print args #аргументы в конце после всех параметров


print opts, args сделай и поймёшь всё

Офлайн

#4 Июль 11, 2007 22:07:02

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  2  -
Профиль   Отправить e-mail  

Передача параметров через getopt

felix, наверное самым оптимальным решением будет использовать optparse. Подробней о нем можешь почитать http://ru.pywiki.com/index.php/Optparse



Офлайн

#5 Июль 12, 2007 15:15:28

dvs
От:
Зарегистрирован: 2006-05-22
Сообщения: 176
Репутация: +  3  -
Профиль   Отправить e-mail  

Передача параметров через getopt

from optparse import OptionParser

if __name__=='__main__':
parser = OptionParser()
parser.add_option("-log", dest="log_name",
help="log file name", metavar="FILE_NAME.ext")
...

if len(sys.argv)<2:
#parser.error("incorrect number of arguments")
parser.print_help()
sys.exit()

(cmdline_opts, args) = parser.parse_args()

log.debug(pformat( cmdline_opts ))
log.debug("arguments: " + pformat( args ))
...



Офлайн

#6 Фев. 24, 2010 13:49:28

pyxap
От:
Зарегистрирован: 2009-11-29
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача параметров через getopt

подскажите что лучше использовать, мне нужно передать 3 параметра, которые потом как-то присвоить 3м переменным, или же напрямую с ними работать, что лучше использовать? тыкните носом



Офлайн

#7 Фев. 24, 2010 14:02:40

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача параметров через getopt

А как насчёт прочитать таки что выше написано. Я понимаю что трудно, но раз вы умеете писать…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version