我编写了一个程序来处理由单独进程生成的一堆 png 文件。捕获大多有效,但有时进程会终止并重新启动,从而留下损坏的图像。我无法检测进程何时终止或它终止了哪个文件(大约有 3000 个 png 文件)。
有没有检查损坏的 png 文件的好方法?
由于您使用的是 Linux 系统,因此您可能已经安装了 Python。
一种简单的方法是尝试使用 PIL(Python 成像库)加载和验证文件(您需要先安装它)。
from PIL import Image
v_image = Image.open(file)
v_image.verify()
Run Code Online (Sandbox Code Playgroud)
(逐字取自我在此线程中的回答)
另一种可能的解决方案是稍微改变处理器处理文件的方式:让它始终创建一个名为 temp.png 的文件(例如),然后在完成后将其重命名为“正确”的名称。这样,您就知道周围是否有一个名为 temp.png 的文件,那么该过程就会被中断,而如果没有这样的文件,那么一切都很好。
(一种变体命名方案是像 Firefox 的下载程序一样 - 将 .partial 附加到真实文件名以获取临时名称。)
| 归档时间: |
|
| 查看次数: |
11680 次 |
| 最近记录: |