TypeError: ‘str’ does not support the buffer interface

下面代码在Python 2.7.6运行正常,在Python 3.4.3运行出错,OS为Win8.1,报错信息为:’str’ does not support the buffer interface. Stack Overflow相关问题

with open("test.txt") as fp:
    line = fp.readline()
with open("test.out", 'wb') as fp:
    fp.write(line)

继续阅读TypeError: ‘str’ does not support the buffer interface

Python2 str unicode小记

str与unicode

在Python,str与unicode是两种不同的类型。

string里的character是有多种编码方式的,比如单字节的ASCII,双字节的GB2312等等,再比如UTF-8。很明显要想解读string,必需知道string里的character是用哪种编码方式,然后才能进行。

Unicode code unit又是什么东西呢?一个Unicode code unit是一个16-bit或者32-bit的数值,每个数值代表一个unicode符号。在python里,16-bit的unicode,对应的是ucs2编码。32-bit对应的是ucs4编码。是不是感觉string里character的编码没什么区别?反正我现在脑子里就是这样一个印象:在Python里,ucs2或者ucs4编码的,我们叫做unicode object,其他编码的我们就叫做string。

继续阅读Python2 str unicode小记

Python 2.7.6 64位windows 8.1系统安装numpy, scripy和scikit-learn

环境

Python 2.7.6, 64bit windows 8.1.

安装步骤

  1. 安装pip (pip安装好后会在Python27\下生成Script文件夹,其中包含pip.exe, eazy_install.exe等文件,然后将路径Python27\Script\添加于系统变量变量Path路径中。2.7.9和3.4.3以后在Python\Script\文件夹下自带pip, eazy_install).
  2. 这里分别找到numpy-1.9.2+mkl-cp27-none-win_amd64.whl, scipy-0.15.1-cp27-none-win_amd64.whl, scikit_learn-0.16.1-cp27-none-win_amd64.whl, 使用命令pip install numpy-1.9.2+mkl-cp27-none-win_amd64.whl按顺序安装3个包。(版本可能有变化)
  3. 若遇到UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)错误,打开Python27\Lib下的 mimetypes.py文件,在256行的default_encoding = sys.getdefaultencoding()前面添加三行:

继续阅读Python 2.7.6 64位windows 8.1系统安装numpy, scripy和scikit-learn

Python包发布到PyPI的常用命令

Python包发布版本创建

  • python setup.py sdist:创建源码发布。
  • python setup.py install:安装。
  • python setup.py bdist_wininst:创建MS Windows安装版本。
  • python setup.py bdist_rpm:创建RPM安装版本。
  • python setup.py bdist --help-formats:查看可创建的发布版本格式。

Python包版本发布于PyPI

注意:每个文件上传后,即使删除该文件,也无法重新上传相同名称的文件,所以要谨慎上传!要想重新上传同名文件,只能”曲线救国”,如更新一次版本号(如从1.0.1更新成1.0.2),或者修改源代码发行包格式,如将tar.gz更改为zip压缩格式。

  • python setup.py register:PyPI新版本注册。
  • python setup.py sdist --formats=zip upload:上传Zip格式的源码发布。

继续阅读Python包发布到PyPI的常用命令