docopt を使用する CLI のスキーマを使用して検証を追加していますが、オプションで動作するようには見えません。私はそれを検証したい:
- 入力ファイルが存在する
 - 有効なオプションが使用されています
 - PATH が追加されている場合、ディレクトリが存在します。
 
これまでのアプリはこちら
"""DVget
Usage:
    DVget [-s] FILE [PATH]
    Process a file, return data based on selection
    and write results to PATH/output-file
Arguments:
    FILE        specify input file
    PATH        specify output directory (default: ./)
Options:
    -s          returns sections
    -p          returns name-sets
    -m          returns modules
"""
import os
from docopt import docopt
from schema import Schema, And, Use, Optional, SchemaError
# START OF SCRIPT
if __name__ == "__main__":
    arguments = docopt(__doc__, version="0.1")
    #print(arguments)
    schema = Schema({
        'FILE': [Use(open, error='FILE should be readable')],
        Optional('PATH'): And(os.path.exists, error='PATH should exist'),
        '-': And(str, lambda s: s in ('s', 'p', 'm'))})
    try:
        arguments = schema.validate(arguments)
        # process(arguments)
    except SchemaError as e:
        exit(e)
DVget -s "c:\test.txt" を実行すると、スキーマと docopt でオプションを使用している場合でも、「PATH が存在する必要があります」というエラー メッセージが表示されます。助言がありますか?