出错的程序如下:
#!/usr/bin/env python
#encoding=utf-8
import mysqldb
try:
conn=mysqldb.connect(host="192.168.10.12",user="gw",passwd="gw",db="gw")
cur=conn.cursor()
cur.execute("set autocommit=0")
cur.execute("call sp_auto_rollback_demo3")
cur.execute("commit")
except exception,e:
cur.execute("rollback")
print e
改正后的 程序如下:
#!/usr/bin/env python
#encoding=utf-8
import mysqldb
try:
conn=mysqldb.connect(host="192.168.10.12",user="gw",passwd="gw",db="gw")
cur=conn.cursor()
cur.execute("set autocommit=0")
cur.execute("call sp_auto_rollback_demo3")
cur.execute("commit")
except exception,e:
cur.execute("rollback")
print e
原因如下:
Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。
在编译时会出现这样的错IndentationError:expected an indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
往往有的人会疑问:我根本就没缩进怎么还是错,不对,该缩进的地方就要缩进,不缩进反而会出错,,比如:
if xxxxxx:
(空格)xxxxx
或者
def xxxxxx:
(空格)xxxxx
还有
for xxxxxx:
(空格)xxxxx
一句话 有冒号的下一行往往要缩进,该缩进就缩进