我有一个程序接受一个文件作为输入,有些工作与文件的内容,并将其推送到服务器.我想添加一个可选的命令行开关来指定程序的"干运行",从而执行所有文件处理,但跳过写入服务器的操作.我使用argparse引入命令行参数,但我没有看到在参数之间执行"OR"函数的方法.这是我或多或少要寻找的......
允许的选项:
1)prog.py输入文件服务器名称
2)prog.py输入文件-d
3)prog.py inputfile -d servername
Dissallowed:
1)prog.py输入文件
我想确保命令行上的服务器名称"OR"是干运行标志.并且,如果两者都在那里......那也没关系.(因此是OR而不是异或).如果我使用required = true互斥,我可以获得异或; 但是,我似乎无法弄清楚如何做到这两个可以存在的"或".更复杂的是,服务器名称是位置参数,而干运行标志是可选参数,可以在命令行的任何位置.有没有人知道如何解决这个问题?
好吧,说实话我已经知道问题的答案了。但是,我在网上搜索了相当长一段时间来了解如何做到这一点,但结果却不尽如人意。在拼凑出一些半可用答案的提示后,我找到了一些解决方案,我想与可能有同样疑问的其他人分享。