У меня есть таблица под названием «авторы» в базе данных «menagerie». В ней есть два столбца Id и photo.Id - INT, а фото BLOB.when я попытаться сохранить изображение, чтобы тузда таблица базы данных я получаю ошибку, какPython 'TypeError: недостаточно аргументов для строки формата' при запуске mysql-запроса
TypeError: not enough arguments for format string
Мой полный код
import MySQLdb
conn = MySQLdb.connect("localhost","root","rset","menagerie")
cursor = conn.cursor()
def read_file(filename):
with open(filename, 'rb') as f:
photo = f.read()
return photo
def update_blob(author_id, filename):
# read file
data = read_file(filename)
# prepare update query and data
query = "UPDATE authors SET photo = %s WHERE id = %s"
#query blob data form the authors table
cursor.execute(query, (author_id,))
photo = cursor.fetchone()[0]
cursor.close()
conn.close()
def main():
update_blob(1,"d:/Emmanu/project-data/bc1.jpg")
if __name__ == '__main__':
main()
Теперь об ошибке изменено на «TypeError: не хватает аргументов для строки формата» все флористику TRACEBACK одинаковы. – Emmanu
Можете ли вы обновить вопрос своими изменениями (ниже исходного кода), потому что тогда у вас что-то еще не так. Я просто попробовал это локально, чтобы убедиться, что я ничего не пропустил, и все получилось просто отлично. – sberry
Вопрос обновлен – Emmanu