Базовый пример Docopt не работает


person Carlos Flores II    schedule 20.04.2015    source источник
comment
Можете ли вы определить, что означает Не будет работать так, как ожидалось?   -  person miradulo    schedule 20.04.2015
comment
Отредактировано, чтобы определить, что не будет работать должным образом.   -  person Carlos Flores II    schedule 20.04.2015
comment
Работай на меня. Какую версию Python и какую ОС вы используете?   -  person Anthony Kong    schedule 20.04.2015


Ответы (1)


У меня была та же проблема, и я думаю, проблема в том, вводите ли вы что-то для части (ODD EVEN) команды. Я немного поиграл с этим и до сих пор не понимаю, как именно это должно работать, но вот пример, который работает так, как вы ожидаете. Он принимает одно или несколько чисел в качестве входных данных и выводит результаты на стандартный вывод.

"""Usage: odd_even_example.py [-h | --help] (NUMBERS)...

Example, try:
  odd_even_example.py 1 2 3 4

Options:
  -h, --help
"""
from docopt import docopt

def is_even(x):
    xIsEven = x%2 == 0
    if xIsEven:
        return 'EVEN'
    else:
        return 'ODD'

if __name__ == '__main__':
    arguments = docopt(__doc__) # returns a dictionary
    print(arguments)
    numbers_entered = [int(i) for i in arguments['NUMBERS']]
    answers = [is_even(x) for x in numbers_entered]
    print(answers)
person AGerdom    schedule 20.05.2015