python - 如果python中的函数发生错误,有什么方法可以访问变量的值?
问题描述
这是我的函数,在执行过程中发生错误。那么有什么方法可以在发生错误的行之前访问变量的值?像这里错误发生在“ df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})
”所以我想访问real_rating
和predicted_rating
变量的值?
def calc_MAE_system(targetClusterTestUserDict,final_clusters):
real_rating=[]
predicted_rating=[]
for i in range(0,length):
real_rating.append(test.iloc[i]['rating'])
temp_rating=predict_rating(final_clusters,test.iloc[i]['userId'],userBelongsToCluster,test.iloc[i]['movieId'],temp_df_rating)
predicted_rating.append(temp_rating)
df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})
df.to_csv("rating_comparison_online_phase.csv", sep='\t')
if(length != 0):
mae=sum/length
else:
mae=0
return mae
解决方案
当然,您可以使用“尝试”和“除外”。如果 'try' 中的代码不起作用,它会使用 'except' 中的代码。例如
try:
df = DataFrame({'real_rating': real_rating, 'predicted_rating': predicted_rating})
except:
print("Error: real_rating = " + str(real_rating) + ", predicted_rating = " + str(predicted_rating))
如果无法创建数据框,它将打印如下内容:
Error: real_rating = xxxxx, predicted_rating = yyyy
推荐阅读
- jira - 使用脚本运行器向转换添加条件
- javascript - 如何在同一个组件中提供和使用上下文?
- vuetify.js - 添加到树视图项目的徽章被剪裁
- visual-studio - CMake 自定义后期构建步骤命令始终执行
- javascript - SQL 生成嵌套的 Javascript 对象
- c# - 在 Observable Collection 上使用 LINQ 而不会丢失事件订阅 C#
- rest - 定义一个新变量以进行巨大的迭代给我一个错误
- python - 找不到文件错误。无法获取正确路径
- html - 每当单击按钮时如何使行更改颜色并在再次单击时返回原始颜色
- java - 经过某种操作顺序后,堆栈中有多少项?