草庐IT

argparse_test

全部标签

python - 我希望 Python argparse 抛出异常而不是使用

我认为这是不可能的,但我想自己处理来自argparse的异常。例如:importargparseparser=argparse.ArgumentParser()parser.add_argument('--foo',help='foohelp',required=True)try:args=parser.parse_args()except:do_something()当我运行它时:$myapp.pyusage:myapp--foofoomyapp:error:argument--fooisrequired但我希望它改为属于异常。 最佳答案

python - 我希望 Python argparse 抛出异常而不是使用

我认为这是不可能的,但我想自己处理来自argparse的异常。例如:importargparseparser=argparse.ArgumentParser()parser.add_argument('--foo',help='foohelp',required=True)try:args=parser.parse_args()except:do_something()当我运行它时:$myapp.pyusage:myapp--foofoomyapp:error:argument--fooisrequired但我希望它改为属于异常。 最佳答案

Python argparse 和控制/覆盖退出状态代码

除了修改argparse源,如果调用parse_args()时出现问题,有什么方法可以控制退出状态码,例如,缺少必需的开关? 最佳答案 我不知道有任何机制可以根据每个参数指定退出代码。您可以捕获.parse_args()上引发的SystemExit异常,但我不确定您将如何确定具体导致错误的原因。编辑:对于任何来此寻找实用解决方案的人,情况如下:ArgumentError()在arg解析失败时适本地引发。它被传递参数实例和消息ArgumentError()确实not将参数存储为实例属性,尽管已被传递(这很方便)可以通过继承Argume

Python argparse 和控制/覆盖退出状态代码

除了修改argparse源,如果调用parse_args()时出现问题,有什么方法可以控制退出状态码,例如,缺少必需的开关? 最佳答案 我不知道有任何机制可以根据每个参数指定退出代码。您可以捕获.parse_args()上引发的SystemExit异常,但我不确定您将如何确定具体导致错误的原因。编辑:对于任何来此寻找实用解决方案的人,情况如下:ArgumentError()在arg解析失败时适本地引发。它被传递参数实例和消息ArgumentError()确实not将参数存储为实例属性,尽管已被传递(这很方便)可以通过继承Argume

Python 单元测试 : Automatically Running the Debugger when a test fails

有没有办法在单元测试失败时自动启动调试器?目前我只是手动使用pdb.set_trace(),但这非常繁琐,因为我每次都需要添加它并在最后取出它。例如:importunittestclasstests(unittest.TestCase):defsetUp(self):passdeftest_trigger_pdb(self):#thisisthewayIdoitnowtry:assert1==0exceptAssertionError:importpdbpdb.set_trace()deftest_no_trigger(self):#thisisthewayIwouldliketodo

Python 单元测试 : Automatically Running the Debugger when a test fails

有没有办法在单元测试失败时自动启动调试器?目前我只是手动使用pdb.set_trace(),但这非常繁琐,因为我每次都需要添加它并在最后取出它。例如:importunittestclasstests(unittest.TestCase):defsetUp(self):passdeftest_trigger_pdb(self):#thisisthewayIdoitnowtry:assert1==0exceptAssertionError:importpdbpdb.set_trace()deftest_no_trigger(self):#thisisthewayIwouldliketodo

python - 在 py.test 中的每个测试之前和之后运行代码?

我想在我的测试套件中的每个测试之前和之后运行额外的设置和拆卸检查。我查看了固定装置,但不确定它们是否是正确的方法。我需要在每次测试之前运行设置代码,并且需要在每次测试之后运行拆卸检查。我的用例是检查没有正确清理的代码:它会留下临时文件。在我的设置中,我将检查文件,在拆解中我还将检查文件。如果有额外的文件,我希望测试失败。 最佳答案 py.test固定装置是实现您的目的的技术上足够的方法。你只需要像这样定义一个fixture:@pytest.fixture(autouse=True)defrun_around_tests():#Cod

python - 在 py.test 中的每个测试之前和之后运行代码?

我想在我的测试套件中的每个测试之前和之后运行额外的设置和拆卸检查。我查看了固定装置,但不确定它们是否是正确的方法。我需要在每次测试之前运行设置代码,并且需要在每次测试之后运行拆卸检查。我的用例是检查没有正确清理的代码:它会留下临时文件。在我的设置中,我将检查文件,在拆解中我还将检查文件。如果有额外的文件,我希望测试失败。 最佳答案 py.test固定装置是实现您的目的的技术上足够的方法。你只需要像这样定义一个fixture:@pytest.fixture(autouse=True)defrun_around_tests():#Cod

python - 如何在 Python 2.6 中获取 argparse?

我编写了一些使用argparse模块的Python2.7代码。现在我需要在Python2.6机器上运行它,因为argparse是在2.7中添加的,所以它无法工作。无论如何我可以在2.6中获得argparse吗?我想避免重写代码,因为我会经常在机器之间传输这种代码。升级python不是一种选择。我应该澄清一下,理想的解决方案是不需要安装模块。 最佳答案 在Centos、Scientific或Redhat上,您可以通过运行以下命令来解决此问题:foryuminstallpython-argparse

python - 如何在 Python 2.6 中获取 argparse?

我编写了一些使用argparse模块的Python2.7代码。现在我需要在Python2.6机器上运行它,因为argparse是在2.7中添加的,所以它无法工作。无论如何我可以在2.6中获得argparse吗?我想避免重写代码,因为我会经常在机器之间传输这种代码。升级python不是一种选择。我应该澄清一下,理想的解决方案是不需要安装模块。 最佳答案 在Centos、Scientific或Redhat上,您可以通过运行以下命令来解决此问题:foryuminstallpython-argparse