Python2.7与Python3.6的不兼容性体现-Numpy.genfromtxt
2017-08-23 20:55
453 查看
Python3相比Python2而言,对str(字符串)和bytes(二进制)格式区分的更为严格。
如numpy库中的genfromtxt在2.7版本中:
import numpy as np
from io import StringIO
data = '1 2 3'
ndata = np.genfromtxt(StringIO(data), dtype= None, delimiter = ' ')
运行无误,ndata为字符串data经过自动拆分后所得到的array:[1,2,3]
但同样的代码在python3中会报错(已将io导入代码改为:from
StringIO import StringIO):
TypeError: must be str or None, not bytes
后查明是python3中的np.genfromtxt参数形式应为:
from io import BytesIO
ndata
= np.genfromtxt(BytesIO(data.encode('utf-8')), dtype= None, delimiter = ' ')
问题解决。
然而在打印numpy.array类型的ndata时:print(ndata),又提示错误:
TypeError: '>' not supported between instances of 'int' and 'str'
原来内置函数中需要比较字符串和整型的大小,这在python2中是支持的,然而python3中不支持,改为:
print(list(ndata))
问题解决。
如numpy库中的genfromtxt在2.7版本中:
import numpy as np
from io import StringIO
data = '1 2 3'
ndata = np.genfromtxt(StringIO(data), dtype= None, delimiter = ' ')
运行无误,ndata为字符串data经过自动拆分后所得到的array:[1,2,3]
但同样的代码在python3中会报错(已将io导入代码改为:from
StringIO import StringIO):
TypeError: must be str or None, not bytes
后查明是python3中的np.genfromtxt参数形式应为:
from io import BytesIO
ndata
= np.genfromtxt(BytesIO(data.encode('utf-8')), dtype= None, delimiter = ' ')
问题解决。
然而在打印numpy.array类型的ndata时:print(ndata),又提示错误:
TypeError: '>' not supported between instances of 'int' and 'str'
原来内置函数中需要比较字符串和整型的大小,这在python2中是支持的,然而python3中不支持,改为:
print(list(ndata))
问题解决。
相关文章推荐
- Python练手,numpy.genfromtxt
- python3中Numpy的genfromtxt问题
- Numpy学习笔记1--genfromtxt
- numpy.genfromtxt的用法
- numpy中使用genfromtxt对列进行预处理
- Numpy学习笔记1--genfromtxt
- Numpy--genfromtxt
- numpy 中关于genfromtxt的几个示例
- Mac下升级python2.7到python3.6详解
- 关于python3,numpy-loadtxt的编码问题
- mac python从2.7版本升级至3.6
- python3.6下安装(numpy,scipy,pandas,matplotlib,scikit-learn)
- 在centOS上离安装Python2.7以及numpy,scipy,matplot,sklearn等
- Ubuntu-Python2.7安装 scipy,numpy,matplotlib
- Transform from list in python to mat in numpy
- Python3.6安装Numpy、Scipy、matpoltlib
- python : 将txt文件中的数据读为numpy数组或列表
- Windows 在Python 3.6/2.7 下安装 OpenCV 3.3
- mac OSX 使用Diango创建数据库报错Referenced from: /Library/Python/2.7/site-packages/_mysql.so
- Permission denied: '/usr/local/lib/python2.7/dist-packages/pip-9.0.1-py2.7.egg/EGG-INFO/requires.txt