为了账号安全,请及时绑定邮箱和手机立即绑定

如何在for循环python-pptx中将两个或多个图像添加到同一张幻灯片

如何在for循环python-pptx中将两个或多个图像添加到同一张幻灯片

慕田峪7331174 2022-07-12 15:41:11
我正在尝试使用 python pptx 包将图像添加到一张幻灯片中。如何在python pptx中将两个图像添加到一张幻灯片但是当我在 for 循环中执行此操作时,我遇到了困难;假设我们在目录中有一堆图片,我们想要调整当前幻灯片的大小并添加当前幻灯片以及目录中的图片。当我有eagle或hawk在目录中调整它们的大小和位置并将它们放入当前幻灯片并移动下一张时!我得到的是不同幻灯片中的每张图片;这是我的代码样子;from pptx import Presentationfrom pptx.util import Inchesfrom pptx.util import Inchesimg_path = 'r/D/test'eagle_1.png, eagle_2.png .... eagle_5.pnghawk_1.png, hawk_2.png .... hawk_5.pngdef ppt_generator(img_path):    prs = Presentation()    blank_slide_layout = prs.slide_layouts[6]    #slide = prs.slides.add_slide(blank_slide_layout)    for images in glob.glob(img_path + '/*.png'):        if 'eagle' in str(images):            slide = prs.slides.add_slide(content_slide_layout)               slide = slide.shapes.add_picture(images , left=Inches(0), top=Inches(0), width=Inches(3), height = Inches(3))        if 'hawk' in str(images):            slide = prs.slides.add_slide(content_slide_layout)               slide = slide.shapes.add_picture(images , left=Inches(2), top=Inches(2), width=Inches(3), height = Inches(3))    prs.save('eagle_hawk.pptx') 我想要的是每个 eagle_1 和 hawk_1 应该在同一张幻灯片中,依此类推!我怎样才能做到这一点?
查看完整描述

1 回答

?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

一种方法是在单独的函数中组装鹰/鹰图片对。也许是这样的:


def iter_image_pairs():

    eagles, hawks = [], []

    for image_path in glob.glob(img_path + '/*.png'):

        if "eagle" in image_path:

            eagles.append(image_path)

        elif "hawk" in image_path:

            hawks.append(image_path)

    for pair in zip(eagles, hawks):

        yield pair

然后你的幻灯片循环可以变成:


for eagle, hawk in iter_image_pairs():

    slide = prs.slides.add_slide(content_slide_layout)   

    slide.shapes.add_picture(

        eagle, left=Inches(0), top=Inches(0), width=Inches(3), height=Inches(3)

    )

    slide.shapes.add_picture(

        hawk, left=Inches(2), top=Inches(2), width=Inches(3), height=Inches(3)

    )


查看完整回答
反对 回复 2022-07-12
  • 1 回答
  • 0 关注
  • 271 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号