jjzjj

python - 如何在读取 CSV 文件时捕获 `CParserError`

我想将CSV列表读入数据框中。但是,当文件具有与数据本身不匹配的标题行(即元数据或其他空白行)时,我无法捕捉到错误。此错误是“CParserError”(请参阅​​底部的错误消息)。我目前的解决方案是使用try-except语句,用try:#readfileexceptCParserError:#givemeanerrormessage但是,这会失败并出现以下错误:NameError:name'CParserError'isnotdefined我的代码如下。如您所见,我想我需要多个except语句来捕获各种错误。第一个应该检查默认编码类型是否有效(文件永远不会是utf-8或latin-

python - argparse 中 --default 和 --store_const 的区别

我在argparse中阅读了以下内容文档:'store_const'-Thisstoresthevaluespecifiedbytheconstkeywordargument.(NotethattheconstkeywordargumentdefaultstotheratherunhelpfulNone.)The'store_const'actionismostcommonlyusedwithoptionalargumentsthatspecifysomesortofflag.Forexample:>>>parser=argparse.ArgumentParser()>>>parser

python - 带有嵌套命名空间的 argparse 子命令

是否argparse提供内置工具让它将组或解析器解析到它们自己的命名空间中?我觉得我一定是在某处遗漏了一个选项。编辑:这个例子可能不是我应该做的来构建解析器来满足我的目标,但这是我到目前为止所做的。我的具体目标是能够为子解析器提供解析为命名空间字段的选项组。我和parent的想法只是为了同样的目的使用通用选项。例子:importargparse#Mainparsermain_parser=argparse.ArgumentParser()main_parser.add_argument("-common")#filterparserfilter_parser=argparse.Argu

Python - 将参数从 Argparse 传递给不同的方法

我正在编写一个相对简单的Python脚本,它支持几个不同的命令。不同的命令支持不同的选项,我希望能够将argparse解析的选项传递给指定命令的正确方法。用法字符串如下所示:usage:script.py[-h]{a,b,c}...script.py:error:toofewarguments我可以很容易地调用适当的方法:defa():...defb():...defc():...if__name__=="__main__":parser=argparse.ArgumentParser()parser.set_defaults(method=a)...arguments=parser.

python - argparse - 组合父解析器、子解析器和默认值

我想在脚本中定义不同的子解析器,它们都从一个共同的父级继承选项,但具有不同的默认值。但是,它没有按预期工作。这是我做的:importargparse#thisisthetoplevelparserparser=argparse.ArgumentParser(description='blabla')#thisservesasaparentparserbase_parser=argparse.ArgumentParser(add_help=False)base_parser.add_argument('-n',help='number',type=int)#subparserssubpa

python - 使用 Python 的 optparse 模块,如何创建一个带有可变数量参数的选项?

使用Perl的Getopt::Long,您可以轻松定义带有可变数量参数的命令行选项:foo.pl--filesa.txt--verbosefoo.pl--filesa.txtb.txtc.txt--verbose有没有办法直接用Python的optparse模块来做这个?据我所知,nargs选项属性可用于指定固定数量的选项参数,我还没有在文档中看到其他替代方法。 最佳答案 我花了一点时间才弄清楚,但您可以使用选项的回调操作来完成此操作。在此示例中检查我如何将任意数量的参数获取到“--file”标志。fromoptparseimpor

python - 在 python 中,如何让子解析器读取父解析器的参数?

这是一个示例代码:importargparseparser=argparse.ArgumentParser()parser.add_argument('-main_arg')subparser=parser.add_subparser()a=subparser.add_parser('run')a.add_argument('required_sub_arg')a.add_argument('arg_a')b=subparser.add_parser('b')parser.parse_args()如果我输入programrunrequired_sub_arg-main_arg-arg_

python - 在 python 中,如何让子解析器读取父解析器的参数?

这是一个示例代码:importargparseparser=argparse.ArgumentParser()parser.add_argument('-main_arg')subparser=parser.add_subparser()a=subparser.add_parser('run')a.add_argument('required_sub_arg')a.add_argument('arg_a')b=subparser.add_parser('b')parser.parse_args()如果我输入programrunrequired_sub_arg-main_arg-arg_

python argparse - 在没有参数的情况下向子解析器添加操作?

我正在向我的解析器添加子解析器以模拟子命令功能(例如代码参见:Simplecommandlineapplicationinpython-parseuserinput?)。现在我想添加一个quit子解析器/命令,它不带任何参数并且附加了一个“退出”操作。可能吗?我该怎么做? 最佳答案 subcommands的文档给出了两个如何识别子解析器的例子。https://docs.python.org/dev/library/argparse.html#sub-commands一个是给add_subparsers一个dest:defdo_qui

python argparse - 在没有参数的情况下向子解析器添加操作?

我正在向我的解析器添加子解析器以模拟子命令功能(例如代码参见:Simplecommandlineapplicationinpython-parseuserinput?)。现在我想添加一个quit子解析器/命令,它不带任何参数并且附加了一个“退出”操作。可能吗?我该怎么做? 最佳答案 subcommands的文档给出了两个如何识别子解析器的例子。https://docs.python.org/dev/library/argparse.html#sub-commands一个是给add_subparsers一个dest:defdo_qui