【发布时间】:2018-12-02 13:37:09
【问题描述】:
我是 python 中 argparser 的新手。我正在尝试为包含两个函数download 和upload 的文件创建argparser 文件上/从框。根据我正在尝试为该文件创建解析器,它一次只会执行一项功能,如下所示,但它不适用于我:
parser = argparse.ArgumentParser(description='Download or Upload file on box.')
parser.add_argument('-df', '--download', required=True,
help='download file box')
parser.add_argument('-uf', '--upload', nargs='+', required=True,
help='upload file of box')
parser.add_argument('-fp', '--filepath', required=True,
help='file path to upload(which file to upload) or download(where to download file)')
parser.add_argument('-fn', '--filename', required=True,
help='what should be the name of file on box')
parser.add_argument('-fi', '--fileid', required=True,
help='file id of file to download from box')
args = vars(parser.parse_args())
注意 :- 每次只有-df 或-uf 选项将在那里,-fp 是强制性的,如果是-df 那么-fi 是唯一的选项和它是强制性的,如果 -uf 则 -fn 是唯一的选项,它是强制性的。
如何实现这一点,以下是我如何将参数传递给文件的示例
pyhton abc.py -df -fp 'Download/boxfile/xyz.txt' -fi 123
python abc.py -uf -fp 'Download/boxfile/xyz.txt' -fn 'qwe.txt'
【问题讨论】:
-
您能否更清楚地解释您的 NOTE 段落?很难跟上
-
您可以努力发表评论并提出更多问题,而不是投反对票。因为我认为
argsparser文档对于新手来说更容易理解。 -
@khelwood,谢谢兄弟!因为我想要两个选项
-df(下载文件)和-uf(上传文件)一次只有一个。-fp(文件路径)对于-df和-uf都是必需的。选项-fn(文件名)和-fi(文件id)将取决于-df和-uf,如果-df那么只有-fi是选项并且它是强制性的,如果-uf那么只有-fn是选项,它是强制性的。
标签: python python-2.7 command-line-arguments argparse