我试图用Python3下载一个BLOB格式的文件,这个文件对于一个数据库来说非常“沉重”。有人可以帮助我编写代码:
fout = open('D:\files.zip','wb')
def readBLOB ():
try:
conn = mysql.connector.connect(host='(IP)',user='(user)', passwd='(password)', db='(Database)', port=PORT)
cursor = conn.cursor()
sql_fetch_blob_query = "SELECT archivo FROM versiones_archivos order by id desc limit 1"
cursor.execute (sql_fetch_blob_query)
fout.write(cursor.fetchone()[0])
fout.close()
finally:
if (conn.is_connected()):
cursor.close()
conn.close()
readBLOB()
我得到的错误如下
TypeError: a bytes-like object is required, not 'str'
任何python方面的专家,如果能帮助我解决这个问题,或者能为我的脚本提供其他选择,我将不胜感激
显然,
cursor.fetchone()[0]
是一个字符串,但是您以'wb'
(WriteBinary,或Bytes)的形式打开了文件,因此您不能向它写入字符串-只能向它写入bytes
(准确地说,正如错误消息所说,“类似字节的对象”)您应该对字符串进行编码以获取字节:
相关问题 更多 >
编程相关推荐