草庐IT

argparse_test

全部标签

python :unit test throws <Response streamed [200 OK]> instead of actual output

fromflaskimportjsonify@app.route('/urlinfo/1/',methods=['GET'])defsearch(URL):ifsomething:a=dict(message="everythingisgood"resp=jsonify(a)returnrespelse:a=dict(error="problem")returnjsonify(a)我正在使用curl它curlhttp://127.0.0.1:5000/urlinfo/1/'https://www.youtube.com/'它以json格式返回所需的输出。我为它写了一个单元测试impor

python - 让 Python 的 argparse 接受子解析器的单字符缩写?

我正在使用argparse出色的子解析器系统来制作一个接受许多不同命令的命令行程序。根据我的阅读,argparse在参数明确时自动接受参数的单字符缩写。我想让它对子解析器做同样的事情。如果我这样设置子解析器:foo_parser=subparsers.add_parser('foo')#...setupargumentsandhandler...bar_parser=subparsers.add_parser('bar')#...setupargumentsandhandler...然后我希望解析器接受myprogramfarg0作为myprogramfooarg0的明确缩写。但事实并

python argparse.FileType ('w' ) 检查扩展名

argparse包在处理命令行参数时做得很好。但是我想知道是否有任何方法可以让argparse检查文件扩展名(例如“.txt”)。这个想法是派生一个与argparse.FileType相关的类。我会对任何建议感兴趣。请记住,我的程序中有超过50个子命令,它们都有自己的CLI。因此,与在我的所有命令中添加一些丑陋的测试相比,我更感兴趣的是派生一个可以在每个命令中导入的类。非常感谢。#Asanexampleonewouldbeinterestedinturningthis...parser_grp.add_argument('-o','--outputfile',help="Outputf

Python:从 optparse 切换到 argparse

从optparse切换到argparse后-我遇到了奇怪的错误。Argparse仅在不留空格的情况下解析参数:myScript.py-oOpt或者放一个等号:myScript.py-o=Opt它不能正常工作:myScript.py-oOpt这是我的argparse初始化:#!/usr/bin/envpython#togetdescriptionusethe-hflagimportargparse,os,sys#======================#Python2.7isexpected:ifsys.version_info[0]!=2orsys.version_info[1].

python - 导入错误 : cannot import name 'transfer_markers' when testing with pytest

当我通过运行以下命令为我的python项目运行测试时:pythonsetup.pytest(or)pytestproject_name我收到以下错误:.../project_name/.eggs/pytest_asyncio-0.9.0-py3.6.egg/pytest_asyncio/plugin.py",line8,infrom_pytest.pythonimporttransfer_markersImportError:cannotimportname'transfer_markers' 最佳答案 当我在网上查找时,几乎没有任

python - 带有 argparse 的参数列表

我正在尝试使用argparse传递参数列表,但我发现的唯一方法是为我要传递的每个参数重写选项:我目前使用的:main.py-targ1-aarg2我想:main.py-targ1arg2...这是我的代码:parser.add_argument("-t",action='append',dest='table',default=[],help="") 最佳答案 使用nargs:ArgumentParserobjectsusuallyassociateasinglecommand-lineargumentwithasingleacti

Python 列表理解 : test function return

有没有办法在列表(或字典)理解中测试函数的返回?我想避免这样写:lst=[]forxinrange(10):bar=foo(x)ifbar:lst.append(bar)并改用列表理解。显然,我不想写:[foo(x)forxinrange(10)iffoo(x)]所以呢?[foo(x)forxinrange(10)if???] 最佳答案 怎么样filter(None,map(foo,range(10)))如果您不想保留中间列表,请将map()替换为itertools.imap().和itertools.ifilter(),整个东西可

python - 如何将一个位置参数包含到 argparse 互斥组中?

我知道将多个位置参数放入一个相互排斥的组中是没有意义的,因为你不能说谁是谁。但我需要在其中包含一个位置参数。我需要什么:$myprogram-husage:myprogram[-h][--deletevalue|--updatevalue|value]位置value是默认操作(类似于“--include”)。(没有参数的myprogram也必须有效)。我的第一次尝试(这行不通):parser=ArgumentParser()group=parser.add_mutually_exclusive_group()group.add_argument('--delete',metavar='

python - 如何向 argparse 子命令添加通用参数?

这个问题在这里已经有了答案:Pythonargparse-Addargumenttomultiplesubparsers(4个答案)关闭5年前。当使用argparse时,一些子命令需要相同的选项,我使用parents来避免在每个子命令中重复定义它们。脚本文件名:testarg.pyimportargparseparser=argparse.ArgumentParser(add_help=False)parser.add_argument('-H','--host',default='192.168.122.1')parser.add_argument('-P','--port',def

python - Python 如何从 argparse 填充字符串

我很好奇使用argparse时幕后发生了什么。我检查过here和here,显然命名空间目前onlyexistsintheargparselibrary.可能我使用了错误的关键字来搜索SO/Google。也有可能我问的是一个毫无意义或显而易见的问题,但我们开始吧。当通过argparse在Python中捕获输入字符串时:>pythonpalindrome.py'Tacocat!?'运行下面的代码时,我希望通过指定parser.add_argument('string'...生成的命名空间充当单个输入字符串的缓冲区。我将字符串分配给“args”的下一行必须是我们第一次实际解析输入,产生与输入