我正在使用生成器功能从相机拍摄一些照片。该函数接受quality
参数,如果我检测到图像的大小低于或大于某个值(为了简化),我想要改变它。但是当我第一次调用生成器时,这个参数被绑定了,之后我没有看到改变它的方法。
示例代码:
q = 30
for image in get_images('image_{$i}', quality=q):
do_something_with(image)
if len(image) < 1e6:
q += 2
elif len(image) > 1e7:
q -= 2
我想更改q
变量,因此下次执行生成器函数以返回新图像时,它会使用新值,而不是当前使用的值(第一个)调用。
get_images
函数位于库中,因此我无法对其进行修改以允许从外部更改quality
参数。它的标题是这样的:
def get_images(output, format=None, resize=None, **options):
...
鉴于该标题,我理解quality
变量位于options
对象内。我不知道这对我正在做的事情是好还是坏。
有没有办法修改该函数中的变量,例如,通过将值的引用而不是实际值传递给函数?
为了澄清,来自get_images
的{{1}}是camera.capture_continuous
函数。