Reputation: 1
I have folders (river reach, eg W&S_River) which contain sub folders (one per gravel bar eg GravelBar_18) which contain images (50 - 300 per gravel bar). I'm trying to convert the images from jpg to tiff. I've got some code that does the conversion, but it takes some time and doesn't loop through the directory folder (river reach). I'm hoping to define the reach folder and have some code that opens each sub folder and converts each sub folder.
I've been trying to use os.walk based on what I've read here. I'm not getting any error messages, but it's not actually doing anything. Below is what I'm currently using to update the image in each sub folder.
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")
Upvotes: 0
Views: 532
Reputation: 4434
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
Upvotes: 1