如何遍历文件夹,包含将jpg转换为tiff的子文件夹

时间:2019-05-14 19:14:52

标签: python image loops

我有一些文件夹(河流到达范围,例如W&S_River),其中包含子文件夹(每个砾石栏例如GravelBar_18一个),其中包含图像(每个砾石栏50-300个)。我正在尝试将图像从jpg转换为tiff。我有一些执行转换的代码,但是它需要一些时间,并且不会遍历目录文件夹(河流到达)。我希望定义到达范围文件夹,并提供一些代码来打开每个子文件夹并转换每个子文件夹。

我一直在根据我在这里所读的内容尝试使用os.walk。我没有收到任何错误消息,但实际上没有任何作用。下面是我目前用来更新每个子文件夹中的图像的内容。

import os
import os.path
from PIL import Image
import glob

os.chdir('E:/W&S_River/GravelBar_18')

for infile in glob.glob("*.jpg"):
    file, ext = os.path.splitext(infile)
    im = Image.open(infile)
    im.save(file+".tiff", 'TIFF')

print("done")

1 个答案:

答案 0 :(得分:1)

for infile in glob.glob("/*/*.jpg"): # "/*" is important
     ...
#https://stackoverflow.com/a/36426997/11343720

#https://docs.python.org/3/library/glob.html#glob.glob
# ../../Tools/*/*.gif

import os
import os.path
from PIL import Image
import glob

def jpgToTIFF(folder):
    os.chdir(folder)

    for infile in glob.glob("*.jpg"):
        file, ext = os.path.splitext(infile)
        im = Image.open(infile)
        im.save(file+".tiff", 'TIFF')

subfolders = [f.path for f in os.scandir('f:/work_rpi') if f.is_dir() ]
for foler in subfolders:
    print(foler)
    jpgToTIFF(folder)

https://stackoverflow.com/a/40347279/11343720