Python 对 main 的命令行调用不会进入 main 函数

Python command line call to main does not go into main function

我有一个 python 文件,其主要功能如下:

if __name__ == '__main__':
    args = docopt(__doc__)

    print('source: %s' % args['--src'])
    print('target: %s' % args['--tgt'])

现在当我调用这个函数时:

python test.py --src file1 --tgt file2

我得到:

Usage:
    test.py --src=<file> --tgt=<file>
Options:
    -h --help            Show this screen.
    --src=<file>         src
    --tgt=<file>         tgt

但是主函数逻辑并没有被调用。如何解决这个问题?

我试过了:

python test.py --src=file1 --tgt=file2

但我得到了相同的结果。

检查你的文档字符串。我认为问题是由于 UsageOptions 部分之间缺少换行符造成的。

我试过这个文档字符串,它运行良好:

"""
Usage:
    test.py --src=<file> --tgt=<file>

Options:
    -h --help       Show this screen.
    --src<file>     src
    --tgt=<file>    tgt
"""
from docopt import docopt

if __name__ == '__main__':
    args = docopt(__doc__)
    print('source: %s' % args['--src'])
    print('target: %s' % args['--tgt'])