У меня есть огромный список изображений в одном каталоге и другой соответствующий список аннотаций в другом (файлы .txt).
Мне нужно выполнить операцию над каждым изображением после соответствующих аннотаций изображения и сохранить его в другом каталоге. Есть ли элегантный способ не хидить три раза на каждом шагу?
Возможно использование cPickle или любой другой библиотеки, используемой для управления быстрыми файлами?Как быстро переключиться с одного каталога на другой Python
import glob
from PIL import Image
os.chdir('path_images')
list_im=glob.glob('*.jpg')
list_im.sort()
list_im=path_images+list_im
os.chdir('path_txt')
list_annot=glob.glob('*.txt')
list_annot.sort()
list_annot=path_txt+list_im
for i in range(0,len(list_images)):
Джоэл отметил, что операции ОС не являются обязательными, если вы включите путь в имя
#os.chdir('path_images')
im=Image.open(list_im[i])
#os.chdir('path_text')
action_on_image(im,list_annot[i])
#os.chdir('path_to_save_image')
im.save(path_to_save+nom_image)
Я истинный новичок в Python, но я уверен, что мой код очень неэффективно и может быть улучшена.
Вы, возможно, пропустили, что 'paths' может содержать не только файл базовое имя, но также путь itseft ;-) Посмотрите на 'os.path.join()' –
Итак, если я просто изменяю непосредственно list_im и list_annot, чтобы содержать весь путь, мне не нужно использовать chdir, это то, что вы говорите? – jean
Я буду изменять свой код и ждать еще более быстрой реализации, но спасибо за ваш ответ! – jean