Хотите загрузить файл sqlite.db в swift-контейнер с помощью pyhton swiftclient и всегда получать ошибку utf-8 - PullRequest
1 голос
/ 15 октября 2019

Я пытаюсь загрузить sqlite.db (двоичный файл) в быстрый контейнер, используя swiftclient в моем коде python.

import swiftclient swift_conn.put_object

File "/usr / lib / python3.7 / codecs.py ", строка 322, в декодировании (результат, используется) = self._buffer_decode (data, self.errors, final) UnicodeDecodeError: кодек 'utf-8' не может декодировать байт 0xbcв позиции 43: неверный начальный байт

код, который я использую:

import swiftclient bmdatabase = "./logs/test.db' with open(bmdatabase, 'r') as bmdatabase_file: #remote correctbmdatabasename = bmdatabase.replace("./logs/", "") swift_conn.put_object(container_name,correctbmdatabasename, contents=bmdatabase_file.read())

1 Ответ

1 голос
/ 17 октября 2019

Я наконец нашел его сам, если я хочу прочитать двоичный файл, я должен прочитать его с 'rb'

как

import swiftclient
bmdatabase = "./logs/test.db'
    with open(bmdatabase, 'rb') as bmdatabase_file:
                #remote
                correctbmdatabasename = bmdatabase.replace("./logs/", "")
                swift_conn.put_object(container_name,correctbmdatabasename,
                                      contents=bmdatabase_file.read())
...