3

Python コードに docopt を使用しようとしています。実際には、パラメーターに特定の値のみを設定する必要があります。私の使い方は以下の通りです。

"""
Usage:
test.py --list=(all|available)

Options:
    list    Choice to list devices (all / available)
"""

次のように実行しようとしましたpython test.py --list=allが、値を受け入れず、 docopt string を表示するだけです。

list パラメーターの値を「all」または「available」にする必要があります。これを達成する方法はありますか?

4

1 に答える 1

2

これは、あなたが望むものを達成するための例です:

test.py:

"""
Usage:
  test.py list (all|available)

Options:
  -h --help     Show this screen.
  --version     Show version.

  list          Choice to list devices (all / available)
"""
from docopt import docopt

def list_devices(all_devices=True):
    if all_devices:
        print("Listing all devices...")
    else:
        print("Listing available devices...")


if __name__ == '__main__':
    arguments = docopt(__doc__, version='test 1.0')

    if arguments["list"]:
        list_devices(arguments["all"])

このスクリプトを使用すると、次のようなステートメントを実行できます。

python test.py list all

また:

python test.py list available 
于 2016-09-02T09:26:48.073 に答える