dumi
|
Posted: Sat Jan 27, 2024 21:56 Post subject: |
|
|
Полнофункциональная работающая первая часть скрипта:
Скрипт: Code: | # Импортируем модуль os для работы с файлами и директориями
import os
import sys
import stat
import datetime
import subprocess
# Импортируем модуль tkinter для работы с GUI
import tkinter as tk
# Импортируем модуль PIL для работы с изображениями
from PIL import Image
from PIL.ExifTags import TAGS
# Импортируем модуль pywinauto для работы с окнами
from pywinauto import application
# ------------------------------------------------------
# Создаем таблицу соответствия
table = {}
# Получаем список выделенных файлов из аргументов командной строки
# (согласно стандартным шаблонам ТС, установленным в свойствах кнопки (%S)
# Первый аргумент (sys.argv[0]) - это имя скрипта, поэтому мы его пропускаем
selected_files = sys.argv[1:]
# Цикл по файлам в списке
for file in selected_files:
if file.endswith ((".jpg", "JPG")): # or file.endswith ((".png", "PNG")):
if os.path.isfile (file) and os.access (file, os.R_OK):
# Проверяем, что файл доступен
file_info = os.stat (file)
file_attributes = file_info.st_mode
if file_attributes: # & stat.FILE_ATTRIBUTE_ARCHIVE:
# Открываем файл как изображение
image = Image.open (file)
# Получаем словарь с метаданными EXIF
exif = image._getexif()
# Извлекаем дату съемки, если есть
date_taken = exif.get(36867, None)
# Получаем дату создания и редактирования файла
date_created = datetime.datetime.fromtimestamp(os.path.getctime(file))
date_modified = datetime.datetime.fromtimestamp(os.path.getmtime(file))
# Сохраняем имена и даты в таблице
table[file] = (date_taken, date_created, date_modified) |
Некоторые форумчане поспешили высказаться (по другим каналам) весьма скептически о достоинствах представленного в старттопике кода ("говнокода"), вышедшего из под "пера" ИИ, и о бессмысленности затеи воспользоваться ИИ для компенсации собственного невежества (полного и бесспорного) для решения обозначенной выше (разумется бездарно) задачи. Вместо того, чтобы сначала в надлежащем порядке трепетно поизучать "матчасть". Предлагаю оппонентам сравнить исходный и конечный тексты скрипта, и убедиться, что не так уж сильно они различаются. Т.е., не такую уж чушь несёт ИИ (чем бы оно ни было). Кроме того, предлагаю сопоставить варианты разработки для неофита: 1) "необходима отладка" или 2) "начать с самого начала" (не представляя в какой стороне и на каком отдалении оно находится)...– Особенно в контексте, вероятно, разовой потребности.
Last edited by dumi on Fri Feb 02, 2024 13:33; edited 1 time in total |
|