草庐IT

argparse_test

全部标签

Python:argparse 获取可变大小的列表

在Python中,使用argparse,我希望输入参数采用可变数量的文件,例如:$myScript--aParameterfile1file2file3...fileN怎么做到的?parser.add_argument("--aParameter",nargs=????,type=str,help="Providealistoffilestoanalyze",default=None) 最佳答案 使用kwargnargs='+'。这就是它的全部内容。 关于Python:argparse获

python - 可以组合两个 Python argparse 对象吗?

我有一个包含parserA的对象A-一个argparse.ArgumentParser对象还有一个包含parserB的对象B-另一个argparse.ArgumentParser对象A包含对象B的一个实例,但是对象B的参数现在需要由对象A中的解析器解析(因为A是从命令行使用参数调用的对象,而不是B)有没有办法在Python对象A中写成:parserA+=B.parserB? 最佳答案 argparse是围绕对象开发的。除了一些常量和实用函数外,它都是类定义。该文档侧重于使用而不是类结构。但这可能有助于理解其中的一点。parser=a

python - 使用django.test.Client的patch方法获取415码

编辑:我已经在thisquestion中尝试了一切它并没有解决问题。意思是我试过我尝试手动将FormParser和MultiPartParser添加到设置中的DEFAULT_PARSER_CLASSES,并且我尝试将django.test.TestCase更改为rest_framework.test.APITestCase。我仍然收到相同的错误代码。当我通过命令行向在本地主机上运行的Django应用程序发送PATCH请求时,如下所示:http-a:PATCHhttp://127.0.0.1:8000/post/1/text="newtext"它按预期工作,我收到200OK代码。当我尝试

带引号的 Python argparse 参数

有什么方法可以告诉argparse不要吃引号吗?例如,当我给出带引号的参数时,argparse仅将引号内的内容作为参数。我也想捕获引号(不必在命令行中转义它们。)pbsnodes-x|xmlparse-t"interactive-00"产生interactive-00我要"interactive-00" 最佳答案 我认为是shell吃掉了它们,所以python实际上永远不会看到它们。在命令行上转义它们可能是您唯一的选择。如果它是\"backslash\"风格的转义,你出于某种原因不喜欢,那么这种方式应该可以代替:pbsnodes-x

python - 作为 argparse 参数的目录路径

我想在ArgumentParser()的add_argument()中接受一个目录路径作为用户输入。到目前为止,我已经写了这个:importargparseparser=argparse.ArgumentParser()parser.add_argument('path',option=os.chdir(input("pasteherepathtobiog.txtfile:")),help='pastepathtobiog.txtfile')这个问题的理想解决方案是什么? 最佳答案 可以确保路径是一个有效的目录,例如:importa

Python argparse 正则表达式

是否可以使用正则表达式来解析参数?例如,我想接受一个长度为32的十六进制参数(即匹配/[a-f0-9A-F]{32}/)我试过了p.add_argument('hex',type=str,nargs="[a-f0-9A-F]{32}")没有成功 最佳答案 type关键字参数可以采用任何接受单个字符串参数并返回转换值的可调用对象。如果可调用对象引发argparse.ArgumentTypeError、TypeError或ValueError,则会捕获异常并显示格式正确的错误消息。importargparseimportrefromuu

python - py.test 导入错误 "- ' 找不到配置。”

在尝试将py.test功能添加到FlaskAPI时,我在源目录上调用py.test时遇到了以下错误消息EImportStringError:import_string()failedfor'config'.Possiblereasonsare:EE-missing__init__.pyinapackage;E-packageormodulepathnotincludedinsys.path;E-duplicatedpackageormodulenametakingprecedenceinsys.path;E-missingmodule,class,functionorvariable;

Python argparse 允许组合标志

argparse是否可以像这样解析组合标志:app.py-bcdasomething在这种情况下,我希望将something设置为-a,其余的将存储为True。基本上:app.py-b-c-d-asomething我知道大多数程序都允许这样做,例如grep-rEw,但是用argparse来做这件事有多难? 最佳答案 您可以使用store_const实现此目的:parser=argparse.ArgumentParser()parser.add_argument('-a',action='store_const',const=True

python - 使用 py.test + gevent 确定测试覆盖率

py.test+gevent如何得到准确的测试覆盖率报告?我已经尝试过显而易见的事情,使用py.test的pytest-cov插件,但它generatesinaccuratereportswhengeventisinuse. 最佳答案 geventcoverageissue最近在coveragepy中得到修复。但是,pytest-cov无法运行coverage>=4。一个可能的修复方法是在不使用pytest-cov插件的情况下,使用较新版本的coverage.py运行py.test。首先,安装coverage>=4并卸载pytest

python - Django 单元测试 : How to test concurrent database operations?

我正在创建一个使用optimisticconcurrencycontrol的Django库以防止并发写入导致数据不一致。我希望能够为此功能编写单元测试,但我不确定如何实现。我知道Django的单元测试是单线程的,所以我可以设想测试工作的唯一方法是同时打开两个单独的数据库连接(到同一个数据库)并切换DjangoORM在执行查询时使用哪个连接,尽管我不确定在Django中是否可以进行连接切换。使用Django测试并发数据库操作有哪些技巧? 最佳答案 Whataresometechniquesfortestingconcurrentdat