覆盖文件;更改内容但保留文件名

时间:2018-09-10 13:07:38

标签: python

这会有点冗长,但最好先解释一下情况...

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

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

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

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

我似乎找不到想要的东西。我可以列出所有文件名,移动它们,覆盖它们,等等,但不确定我要如何处理(或者即使这样做是正确的方式)我想的情况。如果有人能指出我正确的方向,那就太好了。谢谢。

1 个答案:

答案 0 :(得分:2)

打开要写入的文件不会更改文件名:

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