如何使用argparse在python中添加多个参数选项?

塔拉·普拉萨德·古隆(Tara Prasad Gurung)

我的要求:

现在,当我使用此命令运行python应用程序时

python main.py -d listhere/users.txt

该程序将运行并将结果文件保存为预定义名称,例如reports.txt。

现在,我想添加此功能,以允许用户选择将文件名放入什么以及将文件保存在何处

python main.py -d -o output/newfilname -i listhere/users.txt

一切都一样,但是我希望传递另一个参数-o,该参数将确定要保存的filpath和名称。我该怎么做。什么是处理或组合多个选项的最佳方法。

我试过了

    parser = argparse.ArgumentParser(description = "CHECK-ACCESS REPORTING.")
    parser.add_argument('--user','-d', nargs='?')
    parser.add_argument('--output','-d -o', nargs='?')
    parser.add_argument('--input','-i', nargs='?')
    args = parser.parse_args(sys.argv[1:])

   if args.output and args.input:
        #operation that involves output filename too
   elif args.user and not args.input:
       #default operation only
   else:
      #notset

尝试以这种方式解决问题时出现此错误

错误:

report.py:错误:无法识别的参数:-o listhere / users.txt

hpaulj

nargs='?'标记的选项以3种方式起作用

parser.add_argument('-d', nargs='?', default='DEF', const='CONST')

命令行:

foo.py -d value # => args.d == 'value'
foo.py -d       # => args.d == 'CONST'
foo.py          # => args.d == 'DEF'

https://docs.python.org/3/library/argparse.html#const

利用这一点,您不需要像该错误-d -o标志这样的东西

如果不使用该const参数,则不要使用“?”

parser.add_argument('--user','-u', nargs='?', const='CONST', default='default_user')
parser.add_argument('--output','-o', default='default_outfile')
parser.add_argument('--input','-i', default='default_infile')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在indexOf中添加多个选项

如何在Phalcon中添加多个选择的选项

如何在jMeter中向参数添加多个值

如何在message.content中添加多个参数?

如何添加多个选择选项

如何使用 va_list 在 FormatMessage() 中添加多个参数?

使用python在查询中添加多个添加剂

在nodejs SQLite3 .each()方法中,如何添加多个参数以使用多个“ WHERE ... =?” 查询?

使用 Javascript 向 url 参数添加多个选择选项

如何在Python中添加多个用户输入

如何在 Python 中向 IPFS 添加多个文件?

如何使用 lxml.etree 添加多个 SubElement?(Python)

如何使用python在电子邮件中添加多个嵌入图像

如何使用python子进程向在vlc中打开的视频添加多个音频流

如何使用HSQLDB在表中添加多个列?

如何使用iconElementRight在AppBar中添加多个按钮

如何使用fpdf在pdf文件中添加多个图像

如何使用eventlistener在JavaScript中添加多个ID?

如何使用java中的方法添加多个数字?

如何在 Python 的 argparse 中相互排除多个参数

如何在 react-select 中添加多个选择选项值

如何在ionic 3选择选项中添加多个数据属性

如何在Win Forms应用程序中添加多个选项卡或页面

如何在共享的首选项文件中添加多个条目

使用Pandas在选项卡的单个csv工作表中添加多个csv

Python如何添加多个列表的和

如何使用载波添加多个图像

如何使用purrr添加多个列?

如何使用appendChild添加多个div?