文章詳情頁
[python2]local variable referenced before assignment問題
瀏覽:94日期:2022-08-09 18:14:36
問題描述
class Test(obj):
def __init__(self): pass def _is_flag(self): try:v_sql='''Select count(*) From tablename'''push_ctrl_conn=oracle(’ETL_TEST’)self.reach_flag=push_ctrl_conn.runsql(v_sql,1)[0][0] except Exception,e:self._set_scan_state(’22’, str(e)) finally:push_ctrl_conn.close()def run(self): self._is_flag()
if name == ’__main__’:
test_case=Test()test_case.run()
類似這種格式,然后就報了UnboundLocalError: local variable ’push_ctrl_conn’ referenced before assignment
問題解答
回答1:try語法塊不一定執行,即push_ctrl_conn不一定被賦值。很常見的錯誤,一般可以在try語法前先賦值。
像這種連接的需求,一般用上下文管理器功能,我猜測oracle庫的實例也是支持的。
相關文章:
1. macos - mac下docker如何設置代理2. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””3. docker不顯示端口映射呢?4. MySQL數據庫中文亂碼的原因5. docker - 各位電腦上有多少個容器???容器一多,自己都搞混了,咋辦呢?6. docker gitlab 如何git clone?7. mysql - 新浪微博中的關注功能是如何設計表結構的?8. css - C#與java開發Windows程序哪個好?9. angular.js - 關于$apply()10. docker-compose 為何找不到配置文件?
排行榜
