0
我有一個python腳本使用psycopg2插入新數據或更新postgresql數據庫中的數據。 hourly_count
由用戶輸入,並且在插入整數時完美工作。如果嘗試使用字符串,它不輸入任何內容很重要,但我確實需要它能夠處理空輸入。現在空輸入導致以下UnboundLocalError:空的用戶輸入導致UnboundLocalError
UnboundLocalError: local variable 'hourly_count' referenced before assignment
如果我理解正確的話,在hourly_count = int(ped[time]) * 6
的INT()函數是什麼阻止無效輸入。
我需要做什麼才能允許null輸入而不允許字符串?
def insert_ped(request_json):
try:
ped = request_json['counts']['ped']
for time in ped:
time = time
hourly_count = int(ped[time]) * 6
q = """insert into table (
time,
hourly_count
) values (
%s,
%s
)"""
con = make_con()
cur = con.cursor()
cur.execute(q, (
time,
hourly_count
))
con.commit()
except Exception, e:
print e
yyyy_mm_dd=request_json['counts']['attributes']['date']
q = """update table set
time = %s,
hourly_count = %s"""
con = make_con()
cur = con.cursor()
cur.execute(q, (
time,
hourly_count
))
con.commit()
這解決了UnboundLocalError問題,但現在給我'無效字面INT()基數爲10: '''這是我採取的是說我」 m仍然運行int()函數的python規則。 – Kasey
那麼,在使用它之前,你必須檢查字典'ped'是否實際上有'time'項目:'如果時間在ped:... int(time [ped])...' – DyZ