Python尝试:except:else:删除临时变量

时间:2017-07-04 12:32:15

标签: python django try-except

在我的Django views.py中,我可能为我的Project模型的任何给定实例构建大约50个派生时间序列;取决于其属性。只有派生属性所需的每个参数都有效,我才会将标签/ cost / start / end附加到它们对应的列表中。

为了尝试处理这个问题,我将每个计算的变量放入一个临时变量中,如果它们都有有效值,则只填充df_部分中的else:列表。但是,这意味着我每次都要手动清除临时变量(del costdel startdel end)。我猜有更好的方法......?!

views.py

#...

df_label=[]
df_cost=[]
df_start=[]
df_end=[]

#First potential derived elements for DataFrame
try: 
    cost=  #custom calculation here
    start= #custom calculation here
    end=   #custom calculation here
except:
    error_message.append("Warning1")
else:
    df_label.append('Label here')
    df_cost.append(cost)
    df_start.append(start)
    df_end.append(end)
    del cost
    del start
    del end

#Second potential derived elements for DataFrame
try: 
    cost=  #custom calculation here
    start= #custom calculation here
    end=   #custom calculation here
except:
    error_message.append("Warning2")
else:
    df_label.append('Label here')
    df_cost.append(cost)
    df_start.append(start)
    df_end.append(end)
    del cost
    del start
    del end

#...repeat ~50 times

#Create DataFrame from all the df_ lists
df = pd.DataFrame()
df['label']=df_label
df['cost']=df_cost
df['start']=df_start
df['end']=df_end

0 个答案:

没有答案