python函数的参数无法使用和一个打印错误

时间:2015-02-09 02:13:29

标签: python sqlite

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;

import database
print (database.readswitch(x,y))

我正在尝试访问数据库并在其中返回命令 我创建一个名为database的模块无法像

那样打印它
Traceback (most recent call last):
  File "C:/Users/tommy/PycharmProjects/2015122/database.py", line 400, in <module>
    import database
  File "C:\Users\tommy\PycharmProjects\2015122\database.py", line 401, in <module>
    print (database.readswitch(x,y))
NameError: name 'x' is not defined

和我的函数参数不能像

一样使用
def readswitch(x,y,connn,read):

PEP 8: missing whitespace after ',' Parameter 'y' value is not used

如何解决这个错误? 我不擅长python,在这几个小时内我需要帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

使用参数x,y定义函数,然后在函数内重新分配它们。这没有任何意义,因为它们不是全局变量也不可变。

我建议您从函数定义中删除x,y或将赋值移到全局范围(函数外部)。