python - 是否可以在 python3 的 argparse 中添加“-”标志?
问题描述
像 dnsgen 这样的工具适用于这两种类型的选项:
没有任何参数:
cat domains.txt | dnsgen - | someotherprogram
有参数:
dnsgen -w wordlist filename.txt
我可以让我的程序-
在没有参数的情况下使用,即dnsgen -
样式。可以说我的代码是这样的,它可以从标准输入和单词列表接收数据
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-w', '--wordlist', help="Wordlist")
argv = parser.parse_args()
my_awesome_function(argv.wordlist)
所以,我的代码只从 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)
推荐阅读
- javascript - 如何在 vue 3 中制作全局状态?
- javascript - toString() 作为具有 NULL 原型的 Object 中的属性描述符
- python - 如何创建一个接受变量列表的 if 语句条件?
- c# - C# Blazor:倒数计时器
- excel - 运行 13 调试,应用程序
- python - 使用 custom_metrics 和自定义损失加载 keras 模型
- gatling - Gatling 脚本因错误“进程退出并出现错误:137”而中止
- three.js - 如何将“_BATCHID”添加到 glTF 文件中?
- java - 反射检查参数化类型是否为字符串和对象
- react-native - React Native,Expo 39:在 Web 中使用 expo-camera 扫描条形码