【问题标题】:Is it possible to add '-' flag in argparse of python3?是否可以在 python3 的 argparse 中添加“-”标志?
【发布时间】:2020-12-29 19:19:12
【问题描述】:

dnsgen 等工具适用于这两种类型的选项:
没有任何参数:
cat domains.txt | dnsgen - | someotherprogram
带参数:
dnsgen -w wordlist filename.txt

我可以让我的程序使用- 不带参数,即dnsgen - 样式。假设我的代码是这样的,它可以从标准输入和 wordlist 接收数据

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

所以,我的代码只能从 wordlist 中读取。如何通过 wordlist 和 stdin 使用 - 参数样式进行此操作?

【问题讨论】:

    标签: python python-3.x arguments command-line-arguments argparse


    【解决方案1】:

    可能不是一个优雅的解决方案,但是,您可以分配一个虚拟变量并将其设为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)
    

    【讨论】:

      猜你喜欢
      • 2019-05-21
      • 2017-06-17
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 2018-05-19
      • 2018-05-27
      相关资源
      最近更新 更多