ProgrammingError: You must not use 8-bit bytestrings...

问题出现: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings. 产生原因: 问题在用Python的sqlite3操作数据库要插入的字符串中含有非ascii字符时产生,做插入的时候就报当前这个错误。 解决方法: 1. 按提示 1 2 connection = sqlite3.connect(...) connection.text_factory = str 但是如果字符中出现非ascii字符,那么依然不能解决问题,会产生不可预知的乱码,这样可以参考 2 2. 以utf8的编码格式进行解码转为unicode编码做插入 1 2 3 4 cursor.execute(''' INSERT INTO JAVBUS_DATA (姓名, 年龄) VALUES (?, ?) ''', ('张三'.decode('utf-8'), '22岁'.decode('utf-8'))) 但是如果数据太长,这样一个一个敲挺麻烦的,下面是一个使用map函数简化的小例子 ...

十二月 6, 2016 · 1 分钟 · 

Visual Studio Code配置Python开发环境

1.安装Python插件 在VScode界面按Crtl+Shift+P或者F1 输入ext install 直接安装Python,也就是点击它,然后等待,安装好后会提示你重启 ...

六月 29, 2016 · 1 分钟 · 

Python之Requests的高级用法

高级用法 本篇文档涵盖了Requests的一些更加高级的特性。 会话对象 会话对象让你能够跨请求保持某些参数。它也会在同一个Session实例发出的所有请求之间保持cookies。 会话对象具有主要的Requests API的所有方法。 我们来跨请求保持一些cookies: 1 2 3 4 5 6 7 s = requests.Session() s.get('http://httpbin.org/cookies/set/sessioncookie/123456789') r = s.get("http://httpbin.org/cookies") print(r.text) # '{"cookies": {"sessioncookie": "123456789"}}' ...

六月 10, 2016 · 10 分钟 · 

Python中的open和codecs.open

最近老被编码困扰,多次折腾之后,感觉python的编解码做得挺好的,只要了解下边的流程,一般都能解决 input文件(gbk, utf-8…) —-decode—–> unicode ——-encode——> output文件(gbk, utf-8…) 很多文本挖掘的package是在unicode上边做事的,比如nltk. 所以开始读入文件后要decode为unicode格式,可以通过下边两步: 1 2 f=open('XXXXX', 'r') content=f.read().decode('utf-8') 更好的方法是使用codecs.open读入时直接解码: 1 2 f=codecs.open(XXX, encoding='utf-8') content=f.read() 转自: http://f.dataguru.cn/thread-237116-1-1.html

六月 10, 2016 · 1 分钟 · 

Python之Requests的安装与基本使用

安装 使用 pip 安装Requests非常简单 1 pip install requests 或者使用 easy_install 安装 1 easy_install requests 获得源码 Requests 一直在Github上被积极的开发着 你可以克隆公共版本库: 1 git clone git://github.com/kennethreitz/requests.git ...

六月 9, 2016 · 4 分钟 ·