mysql的scrapy管道上的Python无效语法

mysql的scrapy管道上的Python无效语法,python,scrapy,Python,Scrapy,我不明白为什么这里会出现语法错误。。。我没有发现任何错误,没有空格 /pipelines.py", line 23 except MySQLdb.Error, e: ^ SyntaxError: invalid syntax 这里的错误 这就是我的密码 import sys import MySQLdb import hashlib from scrapy.exceptions import DropItem from scrapy.http impor

我不明白为什么这里会出现语法错误。。。我没有发现任何错误,没有空格

/pipelines.py", line 23
except MySQLdb.Error, e:
                    ^
SyntaxError: invalid syntax
这里的错误

这就是我的密码

import sys
import MySQLdb
import hashlib
from scrapy.exceptions import DropItem
from scrapy.http import Request

class AmazonMobileDetailsPipeline(object):
    def __init__(self):
        self.conn = MySQLdb.connect('localhost', 'xxx', 'xxxxx', 'xxx', charset="utf8", use_unicode=True)
        self.cursor = self.conn.cursor()

    def process_item(self, item, spider):
        try:
            self.cursor.execute("""INSERT INTO items (name, price, imagelink) VALUES (%s, %s, %s)""", (item['mobile_name'].encode('utf-8'), item['mobile_price'].encode('utf-8'), item['mobile_imagelink'].encode('utf-8')))            
            self.conn.commit()            
        except MySQLdb.Error, e:
            print "Error %d: %s" % (e.args[0], e.args[1])
        return item
应该是

except MySQLdb.Error as e:

看看您正在使用的是为Python 2编写但运行Python 3的代码。
except
子句中的逗号和不带括号的
print
都不再有效


在编写代码时,您应该找到更为更新的文档。

应该是
MySQLdb.Error as e
而不是commagogle“python try except”,以找到正确的语法。提示:python在此上下文中不使用逗号。您正在尝试用python 3运行python 2代码。现在我看到:
print“Error%d:%s”%(e.args[0],e.args[1])^SyntaxError:无效语法
箭头显示在“after%”上s@Scholli您正在使用Python2.7吗?对于Python3.x,请使用
print(“错误%d:%s”%”(e.args[0],e.args[1]))