草庐IT

test_dict

全部标签

python - 如何JSON序列化Django模型的__dict__?

我想在Django中序列化单个模型的值。因为我要使用get(),所以values()不可用。但是,我读到onGoogleGroups,您可以使用__dict__访问这些值。fromdjango.httpimportHttpResponse,Http404importjsonfromcustomer.modelsimportCustomerdefsingle(request,id):try:model=Customer.objects.get(id=id,user=1)exceptCustomer.DoesNotExist:raiseHttp404values=model.__dict_

python - 'dict' 对象没有属性 'id'

这是我的代码。我正在尝试将xml字符串转换为python列表以显示在html模板中。self.task_xml="NewTask0NewTask0NewTask31NewTask31"58self.xmlData=ET.fromstring(self.db.task_xml)5960self.task_list=[]61taskList=[]62forobjinself.xmlData.iter("object"):63parent_task_id=obj.find("field[@name='parent_task_id']").text64ifparent_task_id==EMP

python - 默认跳过测试,除非 py.test 中存在命令行参数

我有一个持续2天的长期测试,我不想将其包含在常规测试运行中。我也不想键入命令行参数,这会在每次常规测试运行时取消选择它和其他测试。当我确实需要时,我更愿意选择默认取消选择的测试。我尝试将测试从test_longrun重命名为longrun并使用命令py.testmytests.py::longrun但这不起作用。 最佳答案 除了上面的pytest_configure解决方案,我还找到了pytest.mark.skipif。你需要将pytest_addoption()放入conftest.pydefpytest_addoption(p

python - Python中的内存高效int-int dict

我需要Python中的内存高效int-intdict,它可以在O(logn)时间内支持以下操作:d[k]=v#replaceifpresentv=d[k]#Noneoranegativenumberifnotpresent我需要容纳约2.5亿对,所以它真的必须很紧。您碰巧知道合适的实现(Python2.7)吗?编辑删除了不可能的要求和其他废话。谢谢,Craig和Kylotan!改写。这是一个包含1M对的普通int-int字典:>>>importrandom,sys>>>fromguppyimporthpy>>>h=hpy()>>>h.setrelheap()>>>d={}>>>for_

python - Python 列表有等同于 dict.get 的东西吗?

我有一个整数列表。我想知道数字13是否出现在其中,如果出现,出现在哪里。我是否必须像下面的代码一样搜索列表两次?if13inintList:i=intList.index(13)对于字典,有一个get函数可以确定成员资格并使用相同的搜索执行查找。列表有类似的东西吗? 最佳答案 你自己用index()方法回答了。如果找不到索引,这将抛出异常,所以只需捕获:defgetIndexOrMinusOne(a,x):try:returna.index(x)exceptValueError:return-1

python dict.add_by_value(dict_2)?

问题:>>>a=dict(a=1,b=2)>>>b=dict(b=3,c=2)>>>c=???c={'a':1,'b':5,'c':2}所以,这个想法是以最短的形式通过int/float值将两个添加到字典中。这是我设计的一种解决方案,但我不喜欢它,因为它很长:c=dict([(i,a.get(i,0)+b.get(i,0))foriinset(a.keys()+b.keys())])我认为必须有一个更短/简洁的解决方案(也许与reduce和运算符模块有关?itertools?)...有什么想法吗?更新:我真的希望找到更优雅的东西,比如“reduce(operator.add,key=i

Python 文档测试 : skip a test conditionally

我知道如何使用#doctest:+SKIP跳过doctest,但我不知道如何根据运行时条件有时跳过测试.例如:>>>ifos.path.isfile("foo"):...open("foo").readlines()...else:...pass#doctest:+SKIP['hello','world']这就是我想做的事情。我也会接受运行测试的解决方案,但如果不满足条件(即无条件运行测试但修改预期结果),则将预期结果更改为带有回溯的异常。 最佳答案 如果您不想对输出进行测试,您可以返回一个特殊值。让我们调用_skip这个特殊值:如

python - 使用 from_dict 分配数据类型

我在python字典中有数据,例如:data={u'01-01-201722:34:43:871':[u'88.49197',u'valid'],u'01-01-201711:23:43:803':[u'88.49486',u'valid'],u'02-01-201703:11:43:898':[u'88.49773',u'valid'],u'01-01-201713:54:43:819':[u'88.50205',u'valid']}我可以将它转换为pandasDataframe:data=pandas.DataFrame.from_dict(data,orient='index')

python - 如果 py.test 的另一个测试失败,我该如何跳过测试?

假设我有这些测试函数:deftest_function_one():assert#etc...deftest_function_two():#shouldonlyruniftest_function_onepassesassert#etc.如何确保test_function_two仅在test_function_one通过时运行(我希望这是可能的)?编辑:我需要这个,因为测试二正在使用测试一验证的属性。 最佳答案 您可以使用名为pytest-dependency的pytest插件.代码可以是这样的:importpytest@pyte

python - py.test : Show local variables in Jenkins

到目前为止,我们通过Jenkins调用py.test。如果测试失败,我们会看到像这样的通常的堆栈跟踪Traceback(mostrecentcalllast):File"/home/u/src/foo/bar/tests/test_x.py",line36,intest_schema_migrationserrors,out))AssertionError:Unknownoutput:["Migrationsfor'blue':",...]如果我能像在Django调试页面中那样看到局部变量(参见https://djangobook.com/wp-content/uploads/figu