как скопировать все изображения PNG из одной папки в другую, если они содержат zip, чем копировать их в новую папку

#python #image #copy

#питон #изображение #Копировать

Вопрос:

Я создаю некоторые сценарии для изображений и zip-папки, в которых я копирую изображения из одной папки, создаю другую папку и копирую эти изображения.

Но еще одна вещь здесь, если файл является zip-папкой, то я скопирую эту zip-папку в новый каталог и скопирую в этот каталог.

Как это будет возможно для zip-папки?? мой код для изображений таков:

 import glob import shutil import os  src_dir = "your/source/dir" dst_dir = "your/destination/dir" for jpgfile in glob.iglob(os.path.join(src_dir, "*.jpg")):  shutil.copy(jpgfile, dst_dir)  

Ответ №1:

Если я правильно понял ваш вопрос, вы, возможно, захотите просмотреть все файлы, а не только файлы jpg. Внутри цикла вы можете проверить, является ли файл изображением или zip-файлом, и действовать соответственно.

 from shutil import copyfile import os  source = "your_source" dest = "your_destination"  for file in os.listdir(source):  if(file.endswith(".jpg")):  copyfile(source,destination)  elif(file.endswith(".zip")):  destination = "new_destination"  #do more stuff  

Ответ №2:

Спасибо всем, здесь есть решение

 import os   # Create directory  dirName = 'new'  zipdir = 'zip'  src_dir = "/home/ali/Desktop/test/"  dst_dir = "/home/ali/Desktop/test2/"  for file in os.listdir(src_dir):  if file.endswith(".png" or '.jpg'):  try:  # Create target Directory  path = os.path.join(dst_dir, dirName)  os.mkdir(path)  print("Directory " , dirName , " Created ")   except FileExistsError:  print("Directory " , dirName , " already exists")  shutil.copy((src_dir file) , path)  if file.endswith(".zip"):  try:  # Create target Directory  path = os.path.join(dst_dir, zipdir)  os.mkdir(path)  print("Directory " , dirName , " Created ")   except FileExistsError:  print("Directory " , dirName , " already exists")  shutil.copy((src_dir file) , path)