Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
6 / 2 / 0
Регистрация: 28.06.2019
Сообщений: 141

Узнать директорию в которой лежит фото

03.01.2021, 18:30. Показов 1372. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Подскажите пожалуйста, как с помощью python можно узнать директорию в которой лежит фотография, которая в данный момент открыта с помощью средства просмотра фотографий?
Пока получилось узнать только hwnd
Python
1
hwnd = win32gui.WindowFromPoint((1280, 720))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.01.2021, 18:30
Ответы с готовыми решениями:

Как узнать директорию, в которой вызывается скрипт js?
Нужно узнать "место", где вызывается скрипт, а не место, где он хранится.

приложение(*) где по нажатию кнопки эти файлы распаковывались бы в директорию в которой лежит приложение(*)...
Есть 2 файла 222.pck 5556.dll нужно сделать приложение(*) где по нажатию кнопки эти файлы распаковывались бы в директорию в которой лежит...

Как узнать название папки, в которой лежит файл?
есть файл, который инклудится в другие файлы в других папках, и в зависимости от того в какую папку он заинклудится он должен себя вести по...

14
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
04.01.2021, 10:41
vpip75pfr3, нужно отправить нажатие клавиш этому окну (SendMessage) Alt+Enter. Это покажет в новом диалоге свойства файла, оттуда можно считать расположение файла.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
04.01.2021, 11:21
А зачем?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
04.01.2021, 11:24
Цитата Сообщение от vpip75pfr3 Посмотреть сообщение
открыта с помощью средства просмотра фотографий?
это, что имелось ввиду?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
04.01.2021, 11:35
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
это, что имелось ввиду?
Видимо, которое виндовое, дефолтное, начиная с семёрки.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
04.01.2021, 12:33
Цитата Сообщение от vpip75pfr3 Посмотреть сообщение
Пока получилось узнать только hwnd
это так просто хендл окна узнаётся?
Цитата Сообщение от vpip75pfr3 Посмотреть сообщение
hwnd = win32gui.WindowFromPoint((1280, 720))
что за магия цифр 1280, 720? ТС - выложите пжл всё по этому вопросу

Добавлено через 33 минуты
я так узнавал все:
# получить список имён каждого открытого окна
Python
1
2
3
4
5
6
7
8
9
import win32gui
 
 
def winEnumHandler(hwnd, ctx):
    if win32gui.IsWindowVisible(hwnd):
        print(hex(hwnd), win32gui.GetWindowText(hwnd))
 
 
win32gui.EnumWindows(winEnumHandler, None)
теперь вопрос тот же
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
открыта с помощью средства просмотра фотографий?
это, что имелось ввиду?
Добавлено через 3 минуты
ну и без ложки дёгтя у них никак как и в других ЯП, мне показало
0x10348 Узнать директорию в которой лежит фото - Python - Киберфорум - Google Chrome
и
0x1038c www.cyberforum.ru - Google Chrome
как я понимаю одно и тоже))

Добавлено через 8 минут
Цитата Сообщение от u235 Посмотреть сообщение
нужно отправить нажатие клавиш этому окну (SendMessage) Alt+Enter. Это покажет в новом диалоге свойства файла, оттуда можно считать расположение файла
не знал)), скажите пжл это такое с питона делать нужно или и ручками работает?
0
6 / 2 / 0
Регистрация: 28.06.2019
Сообщений: 141
04.01.2021, 13:53  [ТС]
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
это так просто хендл окна узнаётся?
Узнает hwnd окна которое находится в определенной точке.
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
что за магия цифр 1280, 720? ТС - выложите пжл всё по этому вопросу
В моем случае это просто центр монитора 2к, где находится мое изображение
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
я так узнавал все:
У меня открыто большое кол-во фотографий, иногда с одинаковыми названиями. Так что такой вариант мне не подходит.
Цитата Сообщение от u235 Посмотреть сообщение
vpip75pfr3, нужно отправить нажатие клавиш этому окну (SendMessage) Alt+Enter. Это покажет в новом диалоге свойства файла, оттуда можно считать расположение файла.
Спасибо, но хотелось бы обойти без дополнительных окон. Думал, что данную задачу можно решить с помощью win32
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
04.01.2021, 13:58
Цитата Сообщение от vpip75pfr3 Посмотреть сообщение
В моем случае это просто центр монитора 2к, где находится мое изображение
а разве в момент запуска приложения в этой точке фото, а не это приложение?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
04.01.2021, 14:14
vpip75pfr3, так и неясно, зачем. Смешение ручной работы через гуй и программных действий. Сложно. А если сложно - вероятно, вы зарулили не в ту степь.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
04.01.2021, 14:26
dondublon,
ну а если без начала указанного ТС в 1 посте то как? спс
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
04.01.2021, 15:03
Ципихович Эндрю, ну если кровьизносу именно так - то по пути, который предложил u235.
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
04.01.2021, 15:12
Цитата Сообщение от u235 Посмотреть сообщение
нужно отправить нажатие клавиш этому окну (SendMessage) Alt+Enter. Это покажет в новом диалоге свойства файла, оттуда можно считать расположение файла
это я уже понял-кодом не поделитесь?
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
04.01.2021, 17:16
Если установить pyautoit, то как-то так.
Python
1
2
3
4
5
6
7
8
9
import autoit
 
autoit.opt('WinTitleMatchMode', 2) #устанавливаем режим поиска заголовка окна
autoit.win_wait_active("Средство просмотра фотографий Windows") #ждем когда оконо будет активно
autoit.control_send("Средство просмотра фотографий Windows", "", "!{ENTER}") # Шлем окну Alt+Enter
autoit.win_wait_active("Свойства:") #ждем когда оконо Свойства будет активно
text=autoit.win_get_text("Свойства:") # Читаем текст с Свойства
autoit.win_close("Свойства:") # Закрываем Свойства
print(text.split(sep='\n')[12]) # печатаем путь к файлу
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
04.01.2021, 18:00
спс, я опробовал-вроде циклов нет, но делает уже минут 10
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
04.01.2021, 22:34
Так вы окно Средство просмотра фотографий активируете. Ну или перепишите скрипт, если вдруг у вас интерфейс винды не по-русски. У меня все работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2021, 22:34
Помогаю со студенческими работами здесь

Как сохранить фото с камеры напрямую во внутреннюю директорию приложения?
Стартую Intent камеры, добавляю Extra с Uri файла, куда надо сохранить снимок: Intent intent = new...

Узнать директорию файла
Пытаюсь понять как узнать директорию в которой лежит файл, но не получается. Пробовал String root =...

Узнать директорию пользователя
А вот ещё один вопрос. В C++ чтобы указать директорию пользователя надо писать ~?

Задать директорию, из которой произведется копирование
Не могу разобраться, где задать в коде адрес _из_ которого будет браться файл и копироваться по указанному адресу WCF: Метод: ...

Как узнать директорию программы
Мне нужно найти путь к программе написанной на PascalABC.net.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru