Python вызов командной строки в main не go в основной функции - PullRequest
0 голосов
/ 04 августа 2020

У меня есть файл 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

Но основная функция logi c просто не вызывается. Как это исправить?

Я пробовал:

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

но получаю тот же результат.

1 Ответ

1 голос
/ 04 августа 2020

Проверьте свою строку документации. Я считаю, что проблема связана с отсутствующим разрывом строки между разделами Usage и Options.

Я попробовал эту строку документации, и она отлично сработала:

"""
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'])
...