Относительно noob к Python, я успешно извлек текстовый файл из zip-архива, содержащегося в поле bytea PostgreSQL, используя этот код:
myzip = ZipFile(StringIO(rv[0]["archivefield"]), 'a')
data = myzip.read("content.txt",'a')
# *** WORK ON content.txt HAPPENS HERE ***
Затем я сделалМне нужно работать над этим текстовым файлом ... Пока все хорошо!
Теперь, хотя я немного запутался в синтаксисе, чтобы вернуть content.txt обратно в нужное место в архиве, а затем записатьвернуться к «архивному полю».
Может ли кто-нибудь из вас, экспертов здесь, предложить немного синтаксиса, который мне понадобится?Почти здесь!
Что ж, спасибо за помощь, полученную здесь - теперь мы непременно переписываемся с 'archivefield' - это здорово!
В настоящее время возникают следующие проблемы:
1) Я, видимо, удваиваю размер исходного поля.Является ли это функцией режима добавления?Как «свернуть в ноль и переписать над полем?- и / или -
2) данные, которые я записываю, не кодируются обратно в шестнадцатеричный (?) режим, как казалось исходным данным - и будут стандартными для v9 в PostgreSQL.- ИЛИ -
Проблема в том, что данные больше не архивируются, и, следовательно, их большой размер?