Ich habe eine Tabelle namens 'Autoren' in der Datenbank 'Menagerie'.What hat zwei Spalten ID und photo.Id ist INT und Foto ist BLOB.when I ich erhalte Fehler alsPython 'TypeError: nicht genug Argumente für Formatzeichenfolge' beim Ausführen von MySQL Abfrage
TypeError: not enough arguments for format string
Mein vollständiger Code zum speichern von Bild versuchen zu mySQL Datenbank-Tabelle ist
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()
Jetzt geändert Fehler enden würde. – Emmanu
Können Sie die Frage mit Ihren Änderungen (unter dem ursprünglichen vorhandenen Code) aktualisieren, weil Sie dann etwas anderes falsch haben. Ich habe es gerade vor Ort ausprobiert, um sicher zu gehen, dass ich nichts vermisst habe und es hat gut geklappt. – sberry
Frage aktualisiert – Emmanu