Я пишу приложение, используя Python и Kivy.У меня есть функция, которая рисует изображение и экспортирует его в формате PNG.Я пытаюсь использовать это изображение и сохранить его в sql db как BLOB.
Маршрут, который я пытаюсь выбрать, - преобразовать png в поток с помощью BytesIO и затем поместить это значение (string) в переменную, которую я могу затем отправить в БД.
Проблема, с которой я столкнулся, заключается в том, что в рамках функции 'local' я могу преобразовать объект png в поток и распечататьно когда я пытаюсь вывести эту же переменную за пределы функции, она возвращается пустой.
Буду признателен за любую помощь в понимании!Я думаю, это потому, что я использую память функции для преобразования png> IO, и когда она покидает функцию, ей это не нравится.Или, если у вас есть какие-то лучшие решения, я весь слух.
def savevar(self):
global driversig
data = io.BytesIO(open("B.png","r+b").read())
test = (data.getvalue())
#i've also tried wrapping this in a str() but getvalue() is a string so shouldn't matter?
driversig = test
print(driversig)
#this prints fine.
Когда я пытаюсь print(driversig)
вне этой функции, он возвращает пустое
Я также пытался print(str(driversig))
моя глобальная переменная пуста.driversig = ''
только если вам интересно.Я также не получаю никаких ошибок при печати