是否可以在 python3 的 argparse 中添加 '-' 标志?
Is it possible to add '-' flag in argparse of 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)
像 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)