@GashhLab
НИУ МЭИ, информатика и вычислительная техника

Как добавить файл в BLOB на sqlite(python)?

Я где-то прочитал, что в BLOB файлы хранятся просто в hex. Соответственно, я преобразовал нужный мне файл в hex, попытался вставить в BLOB и получил ошибку:
file = open(f'/Users/vladimirkorsunov/Downloads/bot_pdf/{pdf_file_id}.pdf', 'rb')
    bin_file = file.read()
    hex_file = binascii.hexlify(bin_file)
    conn = sqlite3.connect("orders_list.db")
    c = conn.cursor()
    c.execute(f"INSERT INTO orders (student_id, subject, pdf_file, exercises, price) VALUES ({student_id}, '{subject}', {hex_file}, '{exercises}', {price})")
    conn.commit()


Я видел, что кто-то использует hexdump, но я не понял, что там к чему. Вот один из примеров:
(printf "INSERT INTO test(id, name, blob_field) VALUES(NULL, 'Bob', 0x" ; \
 hexdump -v -e '/1 "%02x"' 001.png ; printf ");" ) | sqlite3 my.db

Как я понял из документации, -е задает формат строки, но почему он такой, какой он в примере? Что это вообще значит? В любом случае, на python я примеров вообще не нашел, так что даже попробовать это использовать не могу,
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 февр. 2021, в 01:35
200000 руб./за проект
28 февр. 2021, в 00:22
2500 руб./за проект
27 февр. 2021, в 22:14
30000 руб./за проект