python3.3~mysql模块:'int' does not support the buffer interface

news/2024/7/5 23:30:22

通过python往mysql数据库插入数据,当一次性插入数据量为几百条时,都没问题,当一次性插入上万条时,报错,

'int' does not support the buffer interface


问题出现在int的一个转换问题。解决办法如下:

修改Python33\Lib\site-packages\pymysql3-0.5-py3.3.egg这个压缩包中的pymysql/connections.py文件中的

unpack_int24
unpack_int32
unpack_int64

三个函数。修改成下面样子:

def unpack_int24(n):
    try:
        return struct.unpack('B',n[0])[0] + (struct.unpack('B', n[1])[0] << 8) +\
            (struct.unpack('B',n[2])[0] << 16)
    except TypeError:
        return n[0]+(n[1]<<8)+(n[2]<<16)

def unpack_int32(n):
    try:
        return struct.unpack('B',n[0])[0] + (struct.unpack('B', n[1])[0] << 8) +\
            (struct.unpack('B',n[2])[0] << 16) + (struct.unpack('B', n[3])[0] << 24)
    except TypeError:
        return n[0]+(n[1]<<8)+(n[2]<<16)+(n[3]<<24)

def unpack_int64(n):
    try:
        return struct.unpack('B',n[0])[0] + (struct.unpack('B', n[1])[0]<<8) +\
        (struct.unpack('B',n[2])[0] << 16) + (struct.unpack('B',n[3])[0]<<24)+\
        (struct.unpack('B',n[4])[0] << 32) + (struct.unpack('B',n[5])[0]<<40)+\
        (struct.unpack('B',n[6])[0] << 48) + (struct.unpack('B',n[7])[0]<<56)
    except TypeError:
        return n[0]+(n[1]<<8)+(n[2]<<16)+(n[3]<<24) \
              +(n[4]<<32)+(n[5]<<40)+(n[6]<<48)+(n[7]<<56)


修改后,重新压缩解压出的pymysql3-0.5-py3.3.egg的所有文件,问题解决啦!

  什么?有人说解压不了.egg文件?下载Alzip解压缩软件,神马压缩包都是浮云!


http://www.niftyadmin.cn/n/3659873.html

相关文章

《给初学者的Windows Vista的补遗手册》之095

4.9. 快捷方式图标快捷方式是指到文件、文件夹、磁盘和程序的链接&#xff08;见图4-11&#xff09;。你可以认为快捷方式就是该文件图标的副本&#xff0c;而不是该文件本身的副本。&#xff08;快捷方式几乎不占空间。&#xff09;当你双击快捷方式图标后&#xff0c;源文件、…

linux命令~iconv

iconv是linux中的文件转码命令&#xff0c;命令格式如下&#xff1a; iconv -f "UTF-8" -t "GBK" < in.txt > out.txt 该命令是将in.txt 从utf8编码转为gbk编码&#xff0c;并输出到out.txt。 今天我在转码过程中&#xff0c;遇到下面的问题&…

linux命令~grep

要在一个5g的文件中&#xff0c;统计包含某个字符串的行数&#xff0c;在windows上&#xff0c;真想不到有什么好的文本查看工具&#xff0c;能打开这么大的文件&#xff0c;并且在ctrlf后&#xff0c;能做到不死&#xff0c;不卡&#xff0c;又快速。幸好我安装了cygwin&#…

Simon的新中文“百万格子”重磅推出

想必各位都曾经听说过百万格子的故事吧&#xff1f;最后那位聪明的青年就通过这样一个简单却新颖的举动&#xff0c;获得了收益&#xff0c;大赚Money。现在来自台湾地区的Simon也来效仿了&#xff0c;他推出了中文的“百万格子”&#xff01;一起看看&#xff0c;他是怎么说的…

python3.3~安装python ide和安装pymysql

1.要使用python必须安装python的ide&#xff0c;我安装的是python3.3.5 下载python的msi地址&#xff1a;https://www.python.org/downloads/release/python-335/ 然后傻瓜式安装就可以了&#xff0c;注意一点&#xff0c;在安装的过程中&#xff0c;默认安装模式&#xff0…

《给初学者的Windows Vista的补遗手册》之091

4.7.2. “复制”和“粘贴”命令拖动图标来复制和移动图标让人感觉很不错&#xff0c;因为这是如此的直接&#xff1a;你都能看到你的鼠标指针在源文件夹和目标文件夹之间移动&#xff01;但你也得为这令人满意的炫景付出代价&#xff0c;因为你得花费时间于打开、浏览资源管理器…

python3.3~mysql数据库操作

python操作数据库&#xff0c;需要先安装pymysql包&#xff0c;安装方法&#xff0c;见文章&#xff1a;http://blog.csdn.net/lh1963/article/details/52585745 接下来一步一步说明如何操作数据库。 1.引入pymysql import pymysql 2.建立数据库链接&#xff1a;conn pymys…

《给初学者的Windows Vista的补遗手册》之092

4.8. 回收站回收站就是你的桌面的废物筐。当有些文件失效之后&#xff0c;就应该把它们置于这里。简单说来&#xff0c;回收站是数据的中继站&#xff0c;直到你清空回收站或者将指从回收站恢复&#xff0c;这些文件或文件夹都一直呆在那里。尽管你可以直接拖动图标到回收站图标…