是否可以在 python3 的参数解析中添加'-'标志?



像dnsgen这样的工具可以同时使用这两种类型的选项:
不带任何参数:
cat domains.txt | dnsgen - | someotherprogram
带参数:
dnsgen -w wordlist filename.txt

我可以让我的程序在没有参数的情况下使用-吗,即dnsgen -风格。假设我的代码是这样的,它可以从stdin和wordlist 接收数据

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-w', '--wordlist', help="Wordlist")
argv = parser.parse_args()
my_awesome_function(argv.wordlist)

所以,我的代码只能从单词列表中读取。如何使用-参数样式通过wordlist和stdin实现这一点?

可能不是一个优雅的解决方案,但是,您可以分配一个伪变量并使其成为store_true,如下所示。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-', "--_", action='store_true')
parser.add_argument('-w', '--wordlist', help="Wordlist")
argv = parser.parse_args()
my_awesome_function(argv.wordlist)

相关内容

  • 没有找到相关文章

最新更新