首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

子解析器不工作的Argparse,我搞不清楚

Argparse是Python标准库中的一个模块,用于解析命令行参数和选项。它提供了一种简单而灵活的方式来处理命令行输入,并生成帮助信息。

子解析器是Argparse中的一个概念,它允许我们将命令行参数和选项分组,以便更好地组织和管理代码。子解析器可以帮助我们实现复杂的命令行界面,使用户能够通过不同的子命令来执行不同的操作。

当子解析器不工作时,可能有以下几个原因:

  1. 参数未正确定义:子解析器需要在主解析器中正确定义,并设置相应的参数和选项。确保子解析器的名称和参数与代码中的定义一致。
  2. 解析器未正确配置:在创建解析器对象时,需要正确配置解析器的属性和参数。例如,设置解析器的描述信息、添加子解析器等。
  3. 命令行参数未正确传递:确保在命令行中正确传递了子命令和相应的参数。子命令应该在主命令之后,并使用正确的格式。
  4. 解析器未正确解析参数:在解析命令行参数时,需要调用解析器对象的parse_args()方法来解析参数。确保在正确的位置调用了该方法,并将解析结果赋值给相应的变量。

如果遇到子解析器不工作的问题,可以按照以下步骤进行排查和解决:

  1. 检查代码中的解析器定义,确保子解析器的名称和参数与代码中的定义一致。
  2. 检查解析器的配置,确保解析器的属性和参数正确设置。
  3. 检查命令行参数的传递,确保正确传递了子命令和相应的参数。
  4. 检查解析器的解析过程,确保在正确的位置调用了parse_args()方法,并将解析结果赋值给相应的变量。

如果问题仍然存在,可以参考腾讯云的云原生产品,如云原生容器服务(TKE),它提供了强大的容器编排和管理能力,可以帮助开发者更好地管理和部署应用程序。相关产品介绍和文档可以在腾讯云的官方网站上找到。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

argparse------用于命令行选项、参数和命令解析器

Note在通过parent =传递解析器之前,必须完全初始化它们。如果在解析器之后更改父解析器,这些更改将不会反映在解析器中。...description - 帮助输出中解析器描述,默认情况下为None。 prog - 使用命令帮助将显示使用信息,默认情况下程序名称和解析器参数之前任何位置参数。...(而包含任何其他解析器)。...当其中之一出现时,解析器命令将出现在帮助输出中它们自己组中。...这些解析器不支持所有argparse特性,如果使用不支持特性,就会引发异常。特别是解析器argparse。不支持同时包含选项和位置剩余组和互斥组。

6.8K20

argparse 高级用法

在做 PDM 时候最初也是选择click,PDM 命令行有一系列命令,而 click 嵌套命令组(click.Group)也提供了强大支持,帮助我很好地完成了这个工作。...然而当我更深入地写下去,试图加一些更复杂功能时,发现了 click 不足之处,并促使最终选择了 argparse,到目前看来 argparse 提供能力能很好地胜任工作。...argparse 进击 argparse 命令 argparse 也是支持命令,而且命令也可有自己命令。...argparse 是拿到 sys.argv 之后按顺序看,如果找到一个参数就把结果中对应这个参数值赋好,如果找到一个命令名称则取得这个子命令解析器 递归调用这个解析器去解析剩下命令行参数。...其实 pip 和 Django 命令行写法 也类似,只是实现不尽相同。另外,在理解了 argparse 工作方式之后, 也得以向 CPython 提交了第一个贡献。

19740

Python 命令行之旅:使用 argparse 实现 git 命令

本文将以我们日常工作中最常见 git 命令为例,讲解如何使用 argparse 库来实现一个真正可用命令行程序。 本系列文章默认使用 Python 3 作为解释器进行讲解。...argparse 要实现命令,那么之前介绍到 嵌套解析器 必不可少 当用户键入命令时,命令所对应解析器需要作出响应,那么需要用到解析器 set_defaults 功能 针对 git add...然后在上面添加解析器,为后续命令解析做准备: def cli(): """ git 命名程序入口 """ parser = argparse.ArgumentParser...小结 本文简单介绍了日常工作中常用 git 命令,然后提出实现它思路,最终一步步地使用 argparse 和 gitpython 实现了 git 程序。是不是很有成就感呢?...你是否想过,argparse 四步曲虽然理解简单,但略微麻烦。有没有更简单方式?如果很熟悉命令行帮助语法,能不能写个帮助字符串就把所有的命令行元信息给定义出来?

65820

Python 命令行之旅:深入 argparse(二)

argparse 可通过指定 add_help 入参为 True 或指定,以达到自动输出帮助信息目的。...由于后续解析器会自动生成帮助信息,这里解析器指定 add_help=False 以不自动生成帮助信息: # bash.py import argparse parser = argparse.ArgumentParser...,通过 parents 入参指定上述父解析器,从而继承公共参数,并实现各自参数: # ali.py import argparse import base parser = argparse.ArgumentParser...通过实现嵌套解析器,我们可以很容易地对这种子命令形式进行解析。 在嵌套解析器中,我们定义一个父解析器来作为整个命令行入口,再分别定义N个子解析器来对应N个子命令,由此即可实现整个功能。...在下篇文章中,将带大家一起用 argparse 实现日常工作中常见 git 命令,想想是不是有些兴奋呢?

1.4K20

《Python实例》基础之argparse,提供一个友好接口说明,老大说真好

提供文档太费时,又写不好,不提供文档吧又不太又好,今天在python中发现了一个参数解析器,完美的解决这个问题,今天讲一下参数解析器使用,好了,废话蛮多了,开始吧。...命令 ModifyFile.py :是python文件 -h :表示查看文档 ?...def get_parser(): parser = argparse.ArgumentParser(description='工作目录中文件后缀名修改') parser.add_argument...argparse.ArgumentParser(description='工作目录中文件后缀名修改') 2、增加几个参数 parser.add_argument('work_dir', metavar...print 在函数内验证一下 4.2 调用这个文件执行: python argFile.py 'aa' 'jpg' 'png' 4.3 pycharm 中调用传参文件 在pycharm 中执行需要参数文件如果传递参数会报下面的错误

65130

Python 命令行之旅:使用 docopt 实现 git 命令

docopt 不同于使用 argparse 时需要考虑嵌套解析器、各类参数等问题,在使用 docopt 只需将我们要实现 git 命令用接口描述先定义清楚即可。...程序结构 程序结构上,除了开头处定义接口描述外,其余和使用 argparse 实现 git 命令结构是一样: 命令行程序需要一个 cli 函数来作为统一入口,它负责构建解析器,并解析命令行参数 我们还需要四个...六、小结 本文简单介绍了日常工作中常用 git 命令,然后提出实现它思路,最终一步步地使用 docopt 和 gitpython 实现了 git 程序。...对比 argparse 实现版本,你会发现使用 docopt 来实现变得非常简单,解析器、参数类型什么统统不需要关心!这可以说是 docopt 最大优势了。...关于 docopt 讲解将告一段落,回顾下 docopt 三步曲,加上今天内容,感觉它使用方式还是比 argparse 简单不少。 现在,你已学会了两个命令行解析库使用了。

38630

神经网络工作了!应该做什么? 详细解读神经网络11种常见问题

建议是从一开始去适应可视化,不要只有当你网络工作时才开始适应,这样就能确保在你开始尝试不同神经网络结构时,你已经检查了完整流程。这是你能准确评估多种不同方法唯一方式。...在数据空间中存在较大连续性,或者是表示同一事物大量分离数据(separated data),这将使学习任务变得更加困难。...如果你正在进行回归,那么大多数情况下,你希望在最后层使用任何类型激活函数,除非你知道某些特定于你希望生成值作为输出值。 -为什么? 再考虑一下数据值实际代表什么,以及它们在标准化之后范围。...在它们三个中选择一个(最喜欢是“lecun”),一旦你神经网络开始运作,你就可以自由地尝试,直到你找到最适合你任务。 -为什么?...当我们拼命刷新基准,把某些任务精度提升1%时,更深神经网络一般来说更好。但是如果你3,4,5层小网络都没有学到任何东西的话,那么可以向你保证,你使用一个100层网络也会失败。 -如何解决?

1.7K30

parser.add_argument()用法——命令行选项、参数和命令解析器

argparse是一个Python模块:命令行选项、参数和命令解析器。...通过使用这种方法,可以在使用 1、argparse简介: argparse 模块是 Python 内置一个用于命令项选项与参数解析模块,argparse 模块可以让人轻松编写用户友好命令行接口。...通过在程序中定义好我们需要参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。...ArgumentParser() 对象 2、添加参数——调用 add_argument() 方法添加参数 3、解析参数——使用 parse_args() 解析添加参数 2.1 创建一个解析器——创建...const - action 和 nargs 所需要常量值。 default - 指定参数时默认值。 type - 命令行参数应该被转换成类型。

1.6K20

Python argparse 模块作用,以及分享一个通用代码模板

实现一个名为 config() 函数,用于设置来自 argparse.ArgumentParser 参数解析器对象。它负责定义和处理命令行参数。...argparse 模块对命令行接口支持是围绕 argparse.ArgumentParser 实例构建。它是参数规范容器,具有适用于整个解析器选项。...如果指定 type,默认是字符串类型。 help:参数帮助信息。当用户请求帮助时,这个描述会显示在命令行用法字符串和各种参数帮助消息之间。编写清晰、简洁帮助信息对用户非常重要。...总的来说,这段代码使用 argparse 设置了一个参数解析器,定义了多个命令行参数及其类型、默认值和帮助信息,解析了所提供参数,最终以字典形式返回。...它允许您定义各种选项、参数和命令,从而使您程序更具灵活性。您可以根据需要添加或修改选项,而无需更改源代码。 自动生成帮助和用法信息:argparse 能够自动生成帮助和用法消息文本。

12500

【Python爬虫实操】 如何在任务中高效处理命令参数

在Python中,可以通过sys模块argv变量来获取命令行参数。  2.使用argparse库处理命令行参数  Python标准库中argparse模块提供了一个简单而强大命令行参数解析器。...使用argparse库可以轻松定义命令行参数类型、默认值、帮助信息等,并自动生成带有参数选项帮助文档。...以下是一个使用argparse库处理命令行参数示例:  ```python  import argparse  #创建一个解析器  parser=argparse.ArgumentParser(description...)  print(args.arg2)  ```  在上述示例中,我们通过ArgumentParser类创建了一个解析器对象,然后使用add_argument方法定义了两个命令行参数。...此外,argparse库还支持命令,允许在一个主程序中定义多个命令并分别处理它们参数。  4.使用合适帮助信息  对命令行程序来说,良好帮助信息是非常重要

18560

Python 命令行之旅:初探 argparse

花下猫语:国庆期间,公众号停更了几天,那是因为去江西参加婚礼了,如今正在写“观感”呢(写完后会发在文艺号“豌豆花”上)。所以,原创文章要再拖一下了。 不过,公众号更新是不会停。...今天,继续分享一个优质系列文章:深入使用 argparse。这个系列属于一个更大“讲解开源项目系列”,说实话,这是一直想要写系列。这方面的文章实在太少见了,而读者也不多。...觉得不分享出来,会是一种埋没,但愿对大家有启发吧,喵~~ ? 剧照 | 《走出非洲》 前言 你是否好奇过在命令行中敲入一段命令后,它是如何被解析执行?...快速开始 设置解析器 第一步要做就是设置解析器,后续对命令行解析就依赖于这个解析器,它能够将命令行字符串转换为 Python 对象。...通过实例化 argparse.ArgumentParser,给定一些选填参数,我们就可以设置一个解析器: import argparse parser = argparse.ArgumentParser

67120

Python 模块:argparse

创建一个解析器 使用 argparse 第一步是创建一个 ArgumentParser 对象: >>> parser = argparse.ArgumentParser(description='Process...否则, ArgumentParse 将会看到两个 -h/--help 选项(一个在父参数中一个在参数中)并且产生一个错误。 注解 你在传``parents=``给那些解析器时必须完全初始化它们。...如果你在解析器之后改变父解析器是,这些改变不会反映在解析器上。 formatter_class ArgumentParser 对象允许通过指定备用格式化类来自定义帮助格式。...特别是,在将属性设置在 Namespace 返回值之前,解析器应用任何提供 type 转换参数。...,如果模棱两可(前缀匹配一个唯一选项): >>> parser = argparse.ArgumentParser(prog='PROG') >>> parser.add_argument('-bacon

2.5K10

Python argparse标准库快速入门

prog - 程序名称(默认:sys.argv[0]),默认是Python程序文件名 usage - 描述程序用途字符串(默认值:从添加到解析器参数生成) description - 在参数帮助文档之前显示文本...通常是不必要) add_help - 为解析器添加一个 -h/--help 选项(默认值: True) allow_abbrev - 如果缩写是无歧义,则允许缩写长选项 (默认值:True) add_argument...这里比较重要一个是action,它指定了读取参数接下来要做什么。这部分可以看官方文档,介绍比较全面,而且有对应例子。这里只简单介绍一下。...例如我想指定-f时候开启某个功能,忽略这个参数时候执行,就可以把它行为指定成store_true,然后在程序中就可以得到f名字参数真值,然后简单条件判断就可以了。...parser。有些程序支持命令,这时候可以使用parser创建更复杂parser。 FileType。更详细设置文件参数方法。 参数组。

86310

【测试开发】python系列教程:argparse 模块

为了简化参数解析,我们可以使用内置argparse库,定义好各个参数类型后,它能直接返回有效参数。...argparse定义四个步骤 导入argparse包 ——import argparse 创建一个命令行解析器对象 ——创建 ArgumentParser() 对象 给解析器添加命令行参数 ——调用add_argument...定义命令行解析器对象 parser = argparse.ArgumentParser(description='Demo of argparse') # 2....这个包,然后包中ArgumentParser类生成一个parser对象(其中description对参数解析器作用进行描述),当我们在命令行显示帮助信息时候会看到description描述信息...default: 指定参数时该参数默认值。 type: 命令行参数应该被转换成数据类型。 required: 是否为必选参数或可选参数。 help: 参数帮助信息。

15510

怎样学Python 第二十三课 模块化处理用户输入基础

大家好,今天让我们来了解一个非常有用模块,很久以前就没有意识到这一点,这个模块允许我们简单而有效地使用命令行参数,它不仅会为我们处理这些争论,而且如果事情不对,它会产生一个帮助页面。...这篇文章将会一步一步地讲如何使用argparse,所以,让我们开始吧! 第1步:导入Argparse并设置解析器 为了解决问题,我们需要像其他任何模块一样导入argparse: #!.../usr/bin/env python import argparse 请注意,我们同样把Python解释器路径设置在了顶部。...现在我们已经完成了这个工作,我们需要制作parser,这将用于处理我们参数,我们可以通过调用argparseArgumentParser()方法并将其存储在变量中来创建parser对象,现在让我们创建我们解析器...used -t or –true~# 我们代码工作了!

693100

Python-argparse模块

最近在GitHub上欣赏别人写代码,发现一个常用模块–argparse,居然到现在才知道,简直是罪过,于是马上开始了这个模块用法学习,这样后面在写时候就可以摈弃input()函数来交互了。...argparse模块功能 该模块可以在命令模式下完成使用者与程序之间参数交互,并且这个模块会自动生成help菜单,让使用者可以通过 -h|–help查看程序使用方法等。...使用方法 这里主要分四步: import导入该模块:import argparse 创建解析器对象:parse = argparse.ArgumenParser() 添加需要命令行参数与选项:parse.add_argument...| 实列 这里贴出简单列子来辅助说明该模块使用方法 # author:Tommonkey # date:2022/5/4 import sys import argparse...def arg_parse(): # 构造解析器 parse = argparse.ArgumentParser(prog="test.py",usage="huw to use this

45620

python-argparse模块

argparse 是python自带命令行参数解析包,可以用来方便地读取命令行参数,我们常见pytest、unittest等单元测试框架命令行参数,也是通过argparse模块实现。...一、使用基本框架 创建一个解析器 --》添加相关参数 --〉解析参数 #!...一切命令都需要先创建一个参数解析器,然后通过给该解析器添加参数 三、add_argument()方法 解析器add_argument主要是添加相关命令参数 def add_argument...:如果命令没有传,则生成默认值 type:参数类型 dest:参数属性,通过parse_args() help:显示参数帮助 在一些日常工作中,我们可以通过parser.parse_args()...返回参数,取参数属性即dest,来做相关逻辑,让我们测试工作更加有效率。

29240
领券