Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python I';我收到错误消息';除了MySQLdb.error,e';语法错误-尝试将我的scrapy spider写入mysql时语法无效,_Python_Mysql_Scrapy - Fatal编程技术网

Python I';我收到错误消息';除了MySQLdb.error,e';语法错误-尝试将我的scrapy spider写入mysql时语法无效,

Python I';我收到错误消息';除了MySQLdb.error,e';语法错误-尝试将我的scrapy spider写入mysql时语法无效,,python,mysql,scrapy,Python,Mysql,Scrapy,这是我的pipelines.py,我在第18行收到一个错误 import sys;sys.path.append("/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages") import MySQLdb import hashlib from scrapy.exceptions import DropItem from scrapy.http import Request

这是我的pipelines.py,我在第18行收到一个错误

import sys;sys.path.append("/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages")
import MySQLdb
import hashlib
from scrapy.exceptions import DropItem
from scrapy.http import Request

class TestPipeline(object):

    def __init__(self):
        self.conn = MySQLdb.connect(user='test', passwd='password', db='c1024403', host='ephesus.cs.cf.ac.uk', charset='utf8', use_unicode=True)
        self.cursor = self.conn.cursor()

    def process_item(self, item, spider):
        try:
            self.cursor.execute("""INSERT INTO test (test1, test2) VALUES (%s, %s)""", (item['Country'], item['Qualification']))
            self.conn.commit()

        except MySQLdb.Error, e:
            print 'Error %d: %s' % (e.args[0], e.args[1])
            sys.exit(1)

        return item
这里是错误-

File "project\pipelines.py", line 18
except MySQLdb.Error, e:
     ^
SyntaxError: invalid syntax

我安装了MySQL Python和Visual C++ 2008 Express,我不理解这个错误意味着什么,因为我在因特网上的任何地方都找不到它。p> 您正在使用
Python3.x
运行代码,但是您的
代码方案需要尝试。。除此之外,
部分用于
Python2.X

如果要使用Python 3.x运行代码,请更改此行:

except MySQLdb.Error, e:
致:

如果您希望此部分代码与
python2.x
以及
python3.x
一起使用,请将其更改为:

except MySQLdb.Error:
    e = sys.exc_info()[1]
阅读

但是根据您的
print
语句,您为
python2.x
编写脚本,因此最好使用
python2.x
运行代码,而不是
python3.x

另外,脚本的第一行中的这一行
sys.path.append(../python2.7/site packages”)
很奇怪


另外,您粘贴的第一个代码的缩进是错误的,我认为您仍在使用该缩进,请使用您现在所问的当前编辑版本。

您使用的是
Python 3.x
,但您的
代码方案请尝试。。除此之外,
部分用于
Python2.X

如果要使用Python 3.x运行代码,请更改此行:

except MySQLdb.Error, e:
致:

如果您希望此部分代码与
python2.x
以及
python3.x
一起使用,请将其更改为:

except MySQLdb.Error:
    e = sys.exc_info()[1]
阅读

但是根据您的
print
语句,您为
python2.x
编写脚本,因此最好使用
python2.x
运行代码,而不是
python3.x

另外,脚本的第一行中的这一行
sys.path.append(../python2.7/site packages”)
很奇怪


另外,您粘贴的第一个代码的缩进是错误的,我认为您仍在使用该缩进,请使用当前编辑的版本,这是您现在的问题。

我仍然收到相同的错误,我真的不知道这意味着什么,我正在从CMD运行它。你能提出其他可能出现问题的建议吗?我忘了导入什么东西了吗?这个命令的输出是什么
python-c“import sys;print(sys.version)”
?2.7.6(默认值,2013年11月10日,19:24:18)[MSC v.1500 32位(英特尔)]现在保存此行:
import sys;将(sys.version)
打印到一个新文件,如
get_version.py
,然后在运行
pipelines.py
脚本时运行它,现在
get_version.py
脚本的输出是什么?我仍然收到相同的错误,我不知道它的意思,我正在从CMD运行它。你能提出其他可能出现问题的建议吗?我忘了导入什么东西了吗?这个命令的输出是什么
python-c“import sys;print(sys.version)”
?2.7.6(默认值,2013年11月10日,19:24:18)[MSC v.1500 32位(英特尔)]现在保存此行:
import sys;将(sys.version)
打印到一个新文件,如
get_version.py
,然后在运行
pipelines.py
脚本时运行它,现在
get_version.py
脚本的输出是什么?