我有一个名为/ Gallery /的文件夹,它有包含大量图像的子文件夹,我需要调整宽度为800px的所有文件。
如何自动执行我正在使用此代码的过程:
from PIL import Image
basewidth = 800
img = Image.open('imagename.jpg')
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
img = img.resize((basewidth,hsize), Image.ANTIALIAS)
img.save('imagename.jpg')
做类似的事情 对于图库中每个文件夹中的每张图片 rezizepicture
谢谢!。
答案 0 :(得分:0)
for Python 3.5 +
[[2],[2,0],[2,0,0],[2,0,0,1],[0,0,1],[0,1],[1],[3],[5],[3,5]]
答案 1 :(得分:0)
您可以使用os.listdir(path)获取目录中的所有文件,使用os.path.join(directory,fileName)获取文件的完整路径。然后使用像“for fileName in os.listdir(directory):”这样的循环遍历目录中的所有文件。您可能需要添加检查以确保仅对JPG文件进行操作。在循环内部,使用您已编写的代码作为开始。我不会覆盖现有的图像,除非你将它们备份到某个地方。
答案 2 :(得分:0)
要遍历匹配特定模式的文件,您可以在pathlib中使用globs。这是一个示例,用于标识所有子目录中具有jpg
扩展名的所有文件。
>>> import pathlib
>>> p = pathlib.Path(".\Gallery")
>>> for img_file in p.rglob("*.jpg"):
... print(img_file)
...
Gallery\top1.jpg
Gallery\top2.jpg
Gallery\sub1\sub1.jpg
Gallery\sub2\sub2.jpg
Gallery\sub2\sub3.jpg
Gallery\sub3\sub4.jpg