По крайней мере, в моей системе Windows (Windows 7), кажется, нет тривиального способа добиться этого.Я обнаружил, что наивный вызов ShellExecute, похоже, ничего не делал.Затем я попробовал это:
import time, win32api
win32api.ShellExecute(0, "print", "test.jpg", None, None, 0)
time.sleep(5)
С добавлением вызова к sleep()
появилось диалоговое окно, но когда процесс python завершился, диалоговое окно печати также закрылось.
Поскольку печатьдиалог запускается в процессе, я не вижу простого ожидания, чтобы ждать его.Если бы он запускался как отдельный процесс, то ждать этого процесса было бы тривиально.
Я полагаю, что хакерским решением было бы запустить его через pythonw
, чтобы консоль не появлялась, и вставитьдолгий сон.Вы можете столкнуться с некоторыми случайными процессами Python, которые бесцельно спят, но это может не иметь значения.