Форум сайта python.su
Уже несколько дней прихожу к попыткам понять, что делает функция getopt.getopt и раз за разом не получается. Перечитал по нескольку раз пару документаций, но всё равно не могу разобраться в ней.
Ребята кому несоставляет тяжкого труда, обьяснить скажим к примеру вот эти строчки:
s0 = v0 = 0; a = t = 1 import getopt, sys options, args = getopt.getopt(sys.argv[1:], '', ['t=', 's0=', 'v0=', 'a='])
Отредактировано AlexSSpirit (Июнь 25, 2012 12:29:25)
Офлайн
import getopt, sys options, args = getopt.getopt(sys.argv[1:], 'a:b:c:') print options, args
smirnov@smirnov ~ $ python uu.py -o 4 Traceback (most recent call last): File "uu.py", line 2, in <module> options, args = getopt.getopt(sys.argv[1:], 'a:b:c:') File "/usr/lib/python2.7/getopt.py", line 90, in getopt opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:]) File "/usr/lib/python2.7/getopt.py", line 190, in do_shorts if short_has_arg(opt, shortopts): File "/usr/lib/python2.7/getopt.py", line 206, in short_has_arg raise GetoptError('option -%s not recognized' % opt, opt) getopt.GetoptError: option -o not recognized
import getopt, sys options, args = getopt.getopt(sys.argv[1:], 'a:b:o:') print options, args >>> [('-o', '4')] []
Офлайн
FishHook
То есть проверяет, были ли указаны обязательные параметры запуска скриптаПрости, я новичок и мне твои комменты как мёртову припарка)
options, args = getopt.getopt(sys.argv[1:], '', ['t=', 's0=', 'v0=', 'a='])
Офлайн
AlexSSpirit
Прости, я новичок и мне твои комменты как мёртову припарка)
[code]
import getopt, sys
options, args = getopt.getopt(sys.argv[1:], 'a:b:c', ["help", "output="])
print options
[/code]
Запуск этого кода в консоле с параметрами
[code ]
python uu.py -a 5 --output=out.txt
[/code]
результат
[code]
[('-a', '5'), ('--output', 'out.txt')]
[/code]
На пальцах:
Ты запускаешь скрипт с параметрами - игру в дурака, в зависимости от параметров может по разному работать скрипт. Допустим, в примере выше, параметр а означает количество игроков, а output - файл для лога результатов.
sys.argv[1:] - получаешь параметры запуска скрипта.
'a:b:c' - перечисляешь допустимые параметры
["help", "output="] - и "длинные" параметры. которые обычно необязательны и дублируют короткие
Отредактировано FishHook (Июнь 25, 2012 13:52:42)
Офлайн
Что-то опять сломалось на форуме, лишние теги откуда-то берутся
Офлайн