python sqlite 代码的函数错误

python function error with sqlite code

def readswitch(x,y,connn,read):
    x='create vlan'
    y='global'
    conn = sqlite3.connect('server.db')
    if conn:
        cur = conn.cursor()
        run= cur.execute("SELECT command FROM switch WHERE   function =? or type = ?  ORDER BY key ASC",(x,y))
        read = cur.fetchall()
        return run;


for row in read:
     print (readswitch())

我要在我的数据库中搜索 x 和 y,我希望它成为 return 我的 sql 命令语句

但似乎不能运行这个功能像

for row in read:
NameError: name 'read' is not defined

谁能解决这个错误?

您的代码有几个问题,包括参数传递和变量范围。我不确定它到底想做什么。我建议重写它没有任何功能,只是直接顺序执行。一旦你开始工作,尝试退出函数调用。