想要使用 python swift 客户端将 sqlite.db 文件上传到 swift 容器并且总是出现 utf-8 错误

Want to upload a sqlite.db file to a swift container using python swiftclient and always get a utf-8 error

我正在尝试使用 python 代码中的 swift 客户端将 sqlite.db(二进制文件)上传到 swift 容器。

导入swift客户端 swift_conn.put_object

File "/usr/lib/python3.7/codecs.py", line 322, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 43: invalid start byte

我使用的代码是:

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())

我终于自己找到了,如果我想读取一个二进制文件,我必须用'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())