用PIL处理图像时没有代码提示是不是很不爽?
from PIL import Image
img = Image.open('f15.png')
print(img.format)
print(img.mode)
print(img.size)
原因:
python是动态强类型语言,IDE无法判断Image.open("f15.png")
的返回值类型,无法根据参数类型自动补全
解决:
类型注释:
加上# type: Image.Image就可以了
from PIL import Image
img = Image.open('f15.png')# type: Image.Image
print(img.format)
print(img.mode)
print(img.size)
om = img.convert('L')
om.save('hd.png')
使用isinstance指定:
assert isinstance(img, Image.Image)
from PIL import Image
img = Image.open('f15.png')
assert isinstance(img, Image.Image)
print(img.format)
print(img.mode)
print(img.size)
om = img.convert('L')
om.save('hd.png')
指定类型:
""":type: Image.Image"""
from PIL import Image
img = Image.open('f15.png')
""":type: Image.Image"""
# assert isinstance(img, Image.Image)
print(img.format)
print(img.mode)
print(img.size)
om = img.convert('L')
om.save('hd.png')