【发布时间】:2022-01-20 01:51:42
【问题描述】:
我有一个执行 Moodle 版本检查的 Python 脚本。 检查 Moodle 版本后,我想插入数据库,但出现以下错误:
line 337
mycursor = db.cursor()
TabError: inconsistent use of tabs and spaces in indentation
这是使用和出现问题的代码:
import import mysql.connector
...
def printversion(version):
if version != 0:
print ("\nVersion found via " + version.split(';')[2] + " : Moodle " + version.split(';')[0])
vuln = version.split(';')[0]
db = mysql.connector.connect(host="localhost", user="admin", passwd="", database="test")
mycursor = db.cursor()
insertQuery = """INSERT INTO moodle (id,payload) VALUES (%s,%s)"""
mycursor.execute(insertQuery, ('',vuln))
db.commit()
db.close()
return version.split(';')[0].replace("v","")
print ("\nVersion not found")
return False
报的错误是关于代码缩进的,但是我不知道如何解决这个问题,在数据库中插入版本控制结果。
是带缩进的代码:
【问题讨论】:
-
你需要在
def printversion(version):之后缩进。基本上在 python 中的:之后,你需要缩进所有应该是块的一部分。这里从if version !=0:到return False的所有行都需要一个缩进 -
在缩进方面不要有创意或固执己见。遵循标准,让每个人的生活更轻松——您、未来的您、使用您的代码的其他人、我们。 Python 的标准缩进是 4 个空格。仅仅允许你发散并不意味着这是一个好主意。
-
我的错误:第 335 行 vuln = version.split(';')[0] ^ IndentationError: unindent 不匹配任何外部缩进级别
标签: python mysql sql-insert indentation mysql-python