是否可以在 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)