Я получаю сообщение об ошибке TypeError: 'str' object is not callable
, когда INSERT INTO database
.exceptions.TypeError: объект 'str' не может быть вызван
Я использую: Python 2.7.5, Scrapy 0.18 и MySQL базы данных
Мой Traceback является:
Traceback (most recent call last):
File "C:\python27\lib\threading.py", line 781, in __bootstrap
self.__bootstrap_inner()
File "C:\python27\lib\threading.py", line 808, in __bootstrap_inner
self.run()
File "C:\python27\lib\threading.py", line 761, in run self.__target(*self.__args, **self.__kwargs)
--- <exception caught here> ---
File "C:\python27\lib\site-packages\twisted\python\threadpool.py", line 191, in _worker
result = context.call(ctx, function, *args, **kwargs)
File "C:\python27\lib\site-packages\twisted\python\context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "C:\python27\lib\site-packages\twisted\python\context.py", line 81, in callWithContext
return func(*args,**kw)
File "C:\python27\lib\site-packages\twisted\enterprise\adbapi.py", line 448, in _runInteraction
result = interaction(trans, *args, **kw)
File "apple\pipelines.py", line 49, in _conditional_insert
'INSERT INTO job (id, company, day, hour, job, car1, car2) values (%s, %s, %s, %s, %s, %s)' ("company, day, hour, job, car1, car2 ")
exceptions.TypeError: 'str' object is not callable
Это мой код сценария:
def _conditional_insert(self, tx, item):
# create record if doesn't exist.
# all this block run on it's own thread
tx.execute('select * from job where hour = %s', ("item['hour'], "))
result = tx.fetchone()
if result:
log.msg("Item already stored in db: %s" % item, level=log.DEBUG)
else:
tx.execute(\
'INSERT INTO job (id, company, day, hour, job, car1, car2) values (%s, %s, %s, %s, %s, %s)' ("company, day, hour, job, car1, car2 ")
)
log.msg("Item stored in db: %s" % item, level=log.DEBUG)
def handle_error(self, e):
log.err(e)
Любая идея, что я может справиться с этой ошибкой?
спасибо за вашу помощь я получаю другую ошибку: exceptions.TypeError: недостаточно аргументов для строки формата. Кто-то может сказать мне, как я могу решить? Где я должен добавить круглые скобки? – Floriano
См. мой обновленный ответ. Возможно, вы захотите освежить [форматирование строки] (http: // docs. python.org/release/2.5.2/lib/typesseq-strings.html) – Rod
Еще раз спасибо за вашу помощь. Еще одна ошибка, но я не знаю, t знать решимость. Идея для моей помощи. Заранее спасибо. _mysql_exceptions.ProgrammingError: (1064, «У вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с« [u'TT »] в строке 1») – Floriano