运行如下代码:突然出现错误。
from PIL import Image image=Image.open('./image/3.JPG') print(image) image_1=image.resize((1000,1000)) image_2=image.resize((image.size[0]/3,image.size[1]/3)) image_2.show()
错误代码显示
Traceback (most recent call last): File "H:\PythonDemo\pythonstudy\TurtleDraw.py", line 407, in <module> image_2=image.resize((image.size[0]/3,image.size[1]/3)) File "E:\Python\lib\site-packages\PIL\Image.py", line 2192, in resize return self._new(self.im.resize(size, resample, box)) TypeError: integer argument expected, got float
意思就是得到的是float数据,不是整数。这里需要获取整数。所以需要更改一下:正确代码如下:
from PIL import Image image=Image.open('./image/3.JPG') print(image) image_1=image.resize((1000,1000)) image_2=image.resize((image.size[0]//3,image.size[1]//3)) image_2.show()
这也就是运算符:‘/’和‘//’的区别,
‘/’这个除是浮点整除发,返回的是一个浮点结果,特别是很多除不尽的数据。
‘//’这个向下整除运算符,结果是一个整数,获取的是比商小,但是又最接近于商的整数。
标签:TypeError,Python,image,float,1000,Image,resize,size From: https://www.cnblogs.com/ygyalex/p/17034163.html