Как перебрать папку, содержащую подпапки, чтобы изменить jpgs на tiffs - PullRequest
0 голосов
/ 14 мая 2019

У меня есть папки (река, например, 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 Ответ

1 голос
/ 14 мая 2019
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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...