首页 > 解决方案 > 覆盖文件;更改内容但保留文件名

问题描述

这会有点啰嗦,但最好先解释一下这个场景......

我们每个月都会为管理报告生成许多 BI 可视化。每月拍摄超过 400 张图像,并使用 WKHTMLTOIMAGE 自动放置在一个目录中。这些图像会自动更新到各种 PowerPoint 演示文稿中,并通过电子邮件发送给相关团队。所有这些“一般”都可以正常工作,并消除了许多繁琐的手工工作。

当这些可视化之一无法更新时,就会出现问题。目前没有办法检查,只能打开每个可视化并将其与刚刚提取的图像进行比较。

如果 400 个图像中有 399 个有效,而第 400 个无效,则由于“链接到文件”功能在 PowerPoint 中的工作方式,PowerPoint 仍将使用先前加载的(第 400 个)图像填充。

我想做的是使用示例图像(check.jpg)覆盖所有现有图像,但仍保留其原始文件名。这样,当月度报告运行时,如果其中一个不起作用,PowerPoint 仍将使用此 check.jpg 图像进行更新,这将作为我们需要手动重新运行的内容而脱颖而出。

我似乎找不到任何与我正在寻找的东西相符的东西。我可以列出所有文件名,移动它们,覆盖它们等,但不确定我会如何使用我正在考虑的场景(或者即使它是正确的方法)。如果有人能指出我正确的方向,那就太好了。谢谢你。

标签: python

解决方案


打开文件进行写入不会更改文件名:

with open("path/to/check.jpg", "rb") as src, open("path/to/image.jpg", "wb") as dest:
    dest.write(src.read())

推荐阅读