基本Docopt示例

2024-04-25 12:42:57 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我试图从docopt examples git repo运行odd_even_example.py。在

无论我尝试做什么,或者改变,这个例子都不会如预期的那样起作用。在

当我:

python odd_even_example.py 1 2 3 4

我希望看到一个包含我传递的命令行选项或参数的字典。但是我只是一遍又一遍地得到__doc__字符串。在

我很困惑,因为我只是从examples repo中逐字复制并运行该文件,它是直接中断的。在

这是文件的内容:

^{pr2}$

Tags: 文件命令行pygit参数doc字典example
1条回答
网友
1楼 · 发布于 2024-04-25 12:42:57

我也遇到了同样的问题,我认为问题在于您是否在为命令的(ODD EVEN)部分输入内容。我玩了一段时间,仍然不明白这到底是怎么回事,但这里有一个例子,正如您所期望的那样。它接受一个或多个数字作为输入,并将结果打印到stdout。在

"""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)

相关问题 更多 >