带有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;