带有IndentationError的python if语句

带有IndentationError的python if语句,python,if-statement,sqlite,Python,If Statement,Sqlite,我已经编写了一个函数来获取数据库中的命令,现在我正在尝试编写一个包含更多详细信息的函数来输入数据库。但是,当我添加elif语句时,出现了一个错误 Before:(Success)(ps:用户首先要输入命令的功能,如果用户在设备按钮中输入“switch”,他将从我的switch表获得命令,否则他将从路由器获得命令): 然后,我尝试创建一个名为“showcommand”的表,因为showcommand不需要按“configureterminal”,所以我会再做一个if语句,但它似乎不起作用 在添加i

我已经编写了一个函数来获取数据库中的命令,现在我正在尝试编写一个包含更多详细信息的函数来输入数据库。但是,当我添加
elif语句时,出现了一个错误

Before:(Success)(ps:用户首先要输入命令的功能,如果用户在设备按钮中输入“switch”,他将从我的switch表获得命令,否则他将从路由器获得命令):

然后,我尝试创建一个名为“showcommand”的表,因为showcommand不需要按“configureterminal”,所以我会再做一个if语句,但它似乎不起作用

在添加if语句之后:

def readciscodevice(function, device):
        conn = sqlite3.connect('server.db')
        cur = conn.cursor()
        if device == "switch":
                cur.execute(
                        "SELECT DISTINCT command FROM switch WHERE   function =? or function='configure terminal' or function='enable'  ORDER BY key ASC",
                        (function,))
                read = cur.fetchall()
                return read
        elif device == "router":
                cur.execute(
                        "SELECT DISTINCT command FROM router WHERE   function =? or function='configure terminal' or function='enable'  ORDER BY key ASC",
                        (function,))
                read = cur.fetchall()
                return read;
        elif device == "showcommand":
                 cur.execute(
                        "SELECT DISTINCT command FROM showcommand WHERE   function =? or  function='enable'  ORDER BY key ASC",
                        (function,))
                read = cur.fetchall()
                return read;


a = input("function:")
b = input("device:")
for result in readciscodevice(a,b):
        print(result[0])
主要错误(即int my last elif语句[showcommand]):

及 返回读取

Trailing semicolon in the statement less... (Ctrl+F1) 
This inspection detects trailing semicolons in statements.
我不知道发生了什么事? 在我看来没有什么问题,但问题是真的。
谢谢您的帮助!

您只有一个不应该存在的空格缩进

    elif device == "showcommand":
            cur.execute(
                    "SELECT DISTINCT command FROM showcommand WHERE   function =? or  function='enable'  ORDER BY key ASC",
                    (function,))
            read = cur.fetchall()
            return read;

您只有一个不应该存在的空格缩进

    elif device == "showcommand":
            cur.execute(
                    "SELECT DISTINCT command FROM showcommand WHERE   function =? or  function='enable'  ORDER BY key ASC",
                    (function,))
            read = cur.fetchall()
            return read;

开始cur.execute的块中的行似乎比其他行缩进多了一个空格。

开始cur.execute的块中的行似乎比其他行缩进多了一个空格。

对于
read=cur.fetchall()
,正如您的错误清楚地告诉您的那样。在
showcommand
块的第一行,您似乎有一个额外的空间。哦,所有人都是正确的!很抱歉问了一个粗心的错误。
read=cur.fetchall()
,正如您的错误清楚地告诉您的那样。在
showcommand
块的第一行中,您似乎有一个额外的空间。哦,所有人都是对的!很抱歉问了一个粗心的错误。
    elif device == "showcommand":
            cur.execute(
                    "SELECT DISTINCT command FROM showcommand WHERE   function =? or  function='enable'  ORDER BY key ASC",
                    (function,))
            read = cur.fetchall()
            return read;