今天在看:
    https://www.bilibili.com/video/av12380578/
    这个的时候,开始的那段对命令行参数的解析不知道为社么总是弄不好,之后基于这段代码修改成我所需要的那段代码就可以正常运行了,不明觉厉啊!!!

    1. # naval_fate.py
    2. """Naval Fate.
    3. Usage:
    4. naval_fate.py ship new <name>...
    5. naval_fate.py ship <name> move <x> <y> [--speed=<kn>]
    6. naval_fate.py ship shoot <x> <y>
    7. naval_fate.py mine (set|remove) <x> <y> [--moored | --drifting]
    8. naval_fate.py (-h | --help)
    9. naval_fate.py --version
    10. Options:
    11. -h --help Show this screen.
    12. --version Show version.
    13. --speed=<kn> Speed in knots [default: 10].
    14. --moored Moored (anchored) mine.
    15. --drifting Drifting mine.
    16. """
    17. from docopt import docopt
    18. if __name__ == '__main__':
    19. arguments = docopt(__doc__, version='Naval Fate 2.0')
    20. print(arguments)

    上面的代码来自:
    https://wp-lai.gitbooks.io/learn-python/content/0MOOC/docopt.html

    修改成我所需要的代码是:

    1. """Train tickets query from CLI.
    2. Usage:
    3. ticket [-dgktz] <from> <to> <date>
    4. Options:
    5. -h --help Show this screen.
    6. -d 动车
    7. -g 高铁
    8. -k 快车
    9. -t 特快
    10. -z 直达
    11. """
    12. from docopt import docopt
    13. def cli():
    14. arguments = docopt(__doc__, version='tickets 1.0')
    15. print(arguments)
    16. if __name__ == '__main__':
    17. cli()

    然后就能成功运行了,我目测可能是开始注释那块的格式有问题