2009-11-14 5 views

ответ

9

Прочитайте документацию по адресу optparse. Он очень мощный и даст вам множество параметров и создаст текст справки.

6

Вы можете использовать модули optparse и getopt из стандартной библиотеки. Первый более гибкий и, следовательно, рекомендуется.

Если вы хотите написать собственный синтаксический анализатор, вам необходимо будет проверить содержимое sys.argv. sys.argv[0] содержит имя исполняемой программы. sys.argv[1:] - это список, содержащий все аргументы, переданные программе.

Это минимальный пример использования optparse (я имитировал выполнение программы, установив sys.argv вручную):

>>> import sys 
>>> sys.argv = 'samtho -i Mozilla_Firefox'.split() 
>>> 
>>> from optparse import OptionParser 
>>> parser = OptionParser() 
>>> parser.add_option("-i") 
<Option at 0xb7881b4c: -i> 
>>> options, args = parser.parse_args() 
>>> options 
<Values at 0xb788958c: {'i': 'Mozilla_Firefox'}> 
>>> options.i 
'Mozilla_Firefox' 
2

Используйте sys.argv, чтобы захватить входные аргументы непосредственно (import sys первым). Существует множество различных библиотек (optparse и getopt встроенных модулей), чтобы помочь разобрать аргументы, но выполнять сырое сопоставление может быть проще в зависимости от сложности, в которой вы нуждаетесь.

1

, если вы не возражаете, выйдя из стандартной библиотеки, argparse обычно считается лучшим в породе для синтаксического анализа параметров.

0

Я нахожу optfunc самую легкую в использовании библиотеку.

import optfunc, sys 

def samtho(i=''): 
    "Usage: %prog -i <option>" 
    print i 

if __name__ == '__main__': 
    optfunc.run(samtho) 
Смежные вопросы