【发布时间】:2014-11-30 10:07:59
【问题描述】:
我正在使用 subreddit 刮板从壁纸 subreddit 下载图像。我遇到的问题是某些图像的分辨率很小,导致它们在用作壁纸时看起来很糟糕。我发现一张好看的壁纸所需的最低分辨率是 1920x1080。我现在需要制作一个持续运行的脚本来扫描图像文件夹,查看每个图像分辨率并决定是删除它还是继续下一个图像。我已经在 Python 中修修补补了一个小时左右,但我觉得我的进度无处可去,因为我只是一个初学者并且几个月没有使用 Python。对这个项目的任何帮助都会很棒;)!干杯。
更新:我现在被困在如何让程序通过文件夹运行并查看每张图片。目前我的代码是;
import os
from PIL import Image
while True:
for file in os.listdir(r"C:\\Users\\Barney\\Documents\\sam"):
im = Image.open(file)
x, y = im.size
totalsize = x*y
if totalsize < 2073600:
os.remove(file)
但这会返回错误;
Traceback (most recent call last):
File "C:\Users\Barney\Desktop\imagefilter.py", line 7, in <module>
im = Image.open(file)
File "C:\Python34\lib\site-packages\PIL\Image.py", line 2251, in open
fp = builtins.open(fp, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'Car - 1971 Ford Mustang Mach 1 351 [2560X1600].jpg'
查看互联网我发现我打开程序的位置可能有问题??当程序正在查看此文件夹并读取内容时非常困惑,因为它说不存在的文件在该文件夹中?有什么帮助吗?
【问题讨论】:
-
这里有一些用于查找图像大小的解决方案。 stackoverflow.com/questions/8032642/… 但是,检查文件大小而不是图像分辨率可能更容易。为此,请参阅stackoverflow.com/questions/2104080/…
-
FWIW,壁纸集合中的小图像可能旨在平铺而不是拉伸以适应。
标签: python python-3.x file-handling