python中io指什么_在这个脚本中StringIO()是用来做什么的?

我刚开始使用Django和Python,我正在尝试构建一个照片应用程序。这个脚本正在生成缩略图,我想自己来做。不幸的是,我不明白StringIO()在做什么。在这种情况下,Python文档对我没什么帮助。在

有人能给我解释一下StringIO()在这个特殊情况下做什么?在def save(self):

from PIL import Image

#Original photo

imgFile = Image.open(self.image.path)

#Convert to RGB

if imgFile.mode not in ('L', 'RGB'):

imgFile = imgFile.convert('RGB')

#Save a thumbnail for each of the given dimensions

#The IMAGE_SIZES looks like:

#IMAGE_SIZES = { 'image_web' : (300, 348),

# 'image_large' : (600, 450),

# 'image_thumb' : (200, 200) }

#each of which corresponds to an ImageField of the same name

for field_name, size in self.IMAGE_SIZES.iteritems():

field = getattr(self, field_name)

working = imgFile.copy()

working.thumbnail(size, Image.ANTIALIAS)

fp = StringIO()

working.save(fp, "JPEG", quality=95)

cf = ContentFile(fp.getvalue())

field.save(name=self.image.name, content=cf, save=False);

#Save instance of Photo

super(Photo, self).save()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值