当前位置: 首页 > 面试题库 >

Python argparse忽略无法识别的参数

高兴贤
2023-03-14
问题内容

Optparse,旧版本只是忽略所有无法识别的参数并继续执行。在大多数情况下,这不是理想的,已在argparse中进行了更改。但是在某些情况下,您想忽略任何无法识别的参数并解析您指定的参数。

例如:

parser = argparse.ArgumentParser()
parser.add_argument('--foo', dest="foo")
parser.parse_args()

$python myscript.py --foo 1 --bar 2
error: unrecognized arguments: --bar

反正有覆盖吗?


问题答案:

更换

args = parser.parse_args()

args, unknown = parser.parse_known_args()

例如,

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
args, unknown = parser.parse_known_args(['--foo', 'BAR', 'spam'])
print(args)
# Namespace(foo='BAR')
print(unknown)
# ['spam']


 类似资料:
  • 我试图从我的jar启动另一个Java进程,我使用的是ProcessBuilder: 错误:无法创建Java虚拟机。错误:发生致命异常。程序将退出。无法识别的选项:-类路径“C:\absoulte\path\library.jar;C:\absoulte\path2\library2.jar;C:\absoulte\path3\library3.jar”

  • 下面是我的项目结构。 ControllerConfiguration.java WebAppInitializer.java film.java filmler.js filmler.jsp 问候。

  • 问题内容: 我收到以下错误,但找不到解决方法对我有用: 无法识别的字段“ GaugeDeviceId”(GaugeDevice类),未标记为可忽略 问题似乎是,该服务返回的属性名称前带有一个大写字母,而类属性则以一个下一个字母开头。 我试过了: 将propertyNames更改为第一个大写字母-相同的错误 添加到属性实例化-同样的错误 添加到相应的吸气剂-同样的错误 添加到相应的二传手-同样的错误

  • 我现在正在学习Meteor/Apollo/GraphQL的教程,在使用参数/变量进行突变时遇到了巨大的麻烦。下面是我的代码和一些注释! 当我尝试将查询发送到服务器时,我收到一个 http 400 错误,并且我收到以下 graphql 错误:“类型为”突变“的字段”createResolution“上的未知参数”名称”。 创建分辨率在我的 graphiQL 中可用,但在文档中没有显示任何参数。 教程

  • 当我尝试在Pandas的applymap函数中使用参数“na_action”时,我得到了以下错误: TypeError:applymap()获得意外的关键字参数“na_action” 例子: 类型错误。回溯(最近一次呼叫最后一次) 在1个显示器中显示(df\U复制) 2个df。iloc[0,0]=pd。NA ---- TypeError:applymap()获得意外的关键字参数“na_action

  • 如果没有声明相应的值,是否有可能动态忽略一些可选的参数?