Python 要使用pyhton swiftclient将sqlite.db文件上载到swift容器,并且始终会出现utf-8错误
我试图在python代码中使用swiftclient将sqlite.db(二进制文件)上载到swift容器 导入快捷客户端 斯威夫特康涅狄格酒店 文件“/usr/lib/python3.7/codecs.py”,第322行,解码中 (结果,消耗)=自身缓冲区解码(数据,自身错误,最终) UnicodeDecodeError:“utf-8”编解码器无法解码位置43中的字节0xbc:无效的开始字节 我使用的代码是:Python 要使用pyhton swiftclient将sqlite.db文件上载到swift容器,并且始终会出现utf-8错误,python,swift,python-3.x,openstack,openstack-swift,Python,Swift,Python 3.x,Openstack,Openstack Swift,我试图在python代码中使用swiftclient将sqlite.db(二进制文件)上载到swift容器 导入快捷客户端 斯威夫特康涅狄格酒店 文件“/usr/lib/python3.7/codecs.py”,第322行,解码中 (结果,消耗)=自身缓冲区解码(数据,自身错误,最终) UnicodeDecodeError:“utf-8”编解码器无法解码位置43中的字节0xbc:无效的开始字节 我使用的代码是: 导入快捷客户端 bmdatabase=“./logs/test.db” 打开(bmd
导入快捷客户端
bmdatabase=“./logs/test.db”
打开(bmdatabase,'r')作为bmdatabase_文件:
#遥远的
correctbmdatabasename=bmdatabase.replace(“./logs/”,“”)
swift\u conn.put\u对象(容器名称、数据库名称、,
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())