我试图用python测试以下内容,但是我得到了无效的语法错误:
db = None
try:
db = mdb.connect("localhost","user","pass","dbName")
with db:
cur = db.cursor()
cur.execute("SELECT * from product")
rows = cur.fetchall()
for row in rows:
print row
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
错误如下:
File "script.py", line 11
with db:
^
SyntaxError: invalid syntax
我该如何解决这个问题?
答案 0 :(得分:2)
我很高兴看到您的所有导入声明,以查看代码中可能缺少的内容。我假设你至少在某处导入了MySQLdb。我创建了一个带有几个数据行的虚拟数据库来测试它。不确定python是如何让你在压缩块完全混乱的情况下逃脱的,但也许这只是你的代码缩进在这里发布错误。
这是我尝试的代码,似乎没有问题:
import MySQLdb as mdb
db = None
try:
db = mdb.connect("localhost","user", "password", "test_data")
## with db: ## try taking this out for Python 2.4
cur = db.cursor()
cur.execute("SELECT * FROM PRODUCT")
rows = cur.fetchall()
for row in rows:
print row
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)