find_and_copy.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """
  2. задача: есть папка с файлами *.jpg, необюходимо найти файлы в другой папке с таким же названием, но с расширением .arw и скопировать их в другую папку.
  3. """
  4. import os, shutil
  5. import random
  6. # директория, в которой находится этот файл
  7. BASE_DIR = os.path.dirname(__file__)
  8. print(BASE_DIR)
  9. # создаем папку с .jpg файлами
  10. jpg_dir = os.path.join(BASE_DIR, "jpg")
  11. os.makedirs(jpg_dir, exist_ok=True)
  12. # создаем папку с .arw файлами
  13. arw_dir = os.path.join(BASE_DIR, "arw")
  14. os.makedirs(arw_dir, exist_ok=True)
  15. # создаем папку для совпадающих файлов
  16. copy_dir = os.path.join(BASE_DIR, "copy")
  17. os.makedirs(copy_dir, exist_ok=True)
  18. # создадим несколько файлов jpg и arw
  19. for i in range(0,6):
  20. random_filename = str(random.randint(1,10))
  21. random_jpg_path = os.path.join(jpg_dir, f"{random_filename}.jpg")
  22. f = open(random_jpg_path, "w")
  23. f.close()
  24. random_filename = str(random.randint(1,10))
  25. random_arw_path = os.path.join(arw_dir, f"{random_filename}.arw")
  26. f = open(random_arw_path, "w")
  27. f.close()
  28. # Получаем список jpg-файлов
  29. jpg_files = os.listdir(jpg_dir)
  30. print(jpg_files)
  31. # Получаем список arw-файлов
  32. arw_files = os.listdir(arw_dir)
  33. print(arw_files)
  34. for jpg_file in jpg_files:
  35. jpg_basename, ext = os.path.splitext(jpg_file)
  36. for arw_file in arw_files:
  37. arw_basename, ext = os.path.splitext(arw_file)
  38. if jpg_basename == arw_basename:
  39. # куда копировать
  40. copy_path = os.path.join(copy_dir, f"{arw_basename}.arw")
  41. # что копировать
  42. arw_path = os.path.join(arw_dir, f"{arw_basename}.arw")
  43. shutil.copy(arw_path, copy_path)
  44. print("success")