首页 > 解决方案 > 将 traceback.format_exc() 附加到列表中就是将“\”添加到单引号 (')

问题描述

我将堆栈跟踪变量分配traceback.format_exc()给一个列表,如下所示,我注意到在附加之后,所有单引号(')都被转义(\'),如下面的输出所示。

我查看了谷歌@https ://github.com/behave/behave/issues/336并尝试分配(traceback.format_exc(), sys.getfilesystemencoding()哪个也不起作用,我很好奇为什么会发生这种情况以及如何解决这个问题?

import traceback
clonedRadarsdetailslist = []
clonedRadardetails = {}
try:
    #raise 
    (updateproblemoutput,updateproblempassfail) = r.UpdateProblem(problemID=newRadarID, componentName=componentName, componentVersion=componentVersion,assigneeID=assignee,state=state,substate=substate,milestone=milestone, category=category,priority=priority,resolution=re_solution )
except:
    clonedRadardetails['updatedFailedReason'] = traceback.format_exc()
    clonedRadarsdetailslist.append(clonedRadardetails)

print clonedRadarsdetailslist

输出:-

 ['{\'clonedRadar\': 40171867, \'clonedStatus\': \'PASS\', \'clonedRadarFinalStatus\': \'PASS\', \'updatedFailedReason\': \'Traceback (most recent call last):\\n  File "./cloneradar.py", line 174, in clone\\n    (updatetitleoutput,updatetitlepassfail) = r.UpdateProble(problemID=newRadarID,title=title )\\nAttributeError: \\\'RadarWS\\\' object has no attribute \\\'UpdateProble\\\'\\n\', \'clonedRadarFinalStatusReason\': \'N/A\', \'updateStatus\': \'FAIL\', \'clonedStatusfailReason\': \'N/A\'}', '{\'clonedRadar\': 40171867, \'clonedStatus\': \'PASS\', \'clonedRadarFinalStatus\': \'PASS\', \'updatedFailedReason\': \'Traceback (most recent call last):\\n  File "./cloneradar.py", line 174, in clone\\n    (updatetitleoutput,updatetitlepassfail) = r.UpdateProble(problemID=newRadarID,title=title )\\nAttributeError: \\\'RadarWS\\\' object has no attribute \\\'UpdateProble\\\'\\n\', \'clonedRadarFinalStatusReason\': \'N/A\', \'updateStatus\': \'FAIL\', \'clonedStatusfailReason\': \'N/A\'}']

标签: python

解决方案


推荐阅读