【发布时间】:2017-11-01 19:19:27
【问题描述】:
我正在尝试学习 pythons docopt 模块并拥有以下简单脚本:
""" Usage:
rsnapshot-once [-c CFGFILE] (sync|hourly|daily|monthly)
-c CFGFILE specify the configfile that rsnapshot should use
"""
import logging
import sys
from docopt import docopt
args = docopt(__doc__, version='0.0.1-alpha')
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG, formatter=logging.BASIC_FORMAT)
logging.debug("Parsed arguments:\n" + str(args));
if not args.get("-c"):
args['CFGFILE'] = "/etc/rsnapshot.conf"
当使用 -c 选项从命令行调用时:
% ./rsnapshot-once.py -c someconfigfile sync
DEBUG:root:Parsed arguments:
{'-c': True,
'CFGFILE': 'someconfigfile',
'daily': False,
'hourly': False,
'monthly': False,
'sync': True}
只传递命令时:
% ./rsnapshot-once.py daily
Usage:
rsnapshot-once [-c CFGFILE] (sync|hourly|daily|monthly)
看来,我误会了什么。谁能给我一个提示,我做错了什么?
谢谢
【问题讨论】:
-
它对我来说很好用。您可以使用旧版本的 docopt 吗?