我可以使用哪个shell命令在Windows(XP或更旧版本)中为我带来打印图片对话框?

时间:2011-03-09 23:55:33

标签: python windows shell printing

在Python中,如果我想使用shell打开/启动默认浏览器,我可以导入操作系统并执行运行“www.google.com”。是否有任何类似的方法打开给定image.jpg的打印图片对话框,好像右键单击它并在上下文菜单中选择打印,我可以用来从python调用此例程???

谢谢。

2 个答案:

答案 0 :(得分:3)

您可以使用win32api.ShellExecute动词来呼叫"print"。例如:http://timgolden.me.uk/python/win32_how_do_i/print.html

答案 1 :(得分:2)

至少在我的Windows系统(Windows 7)上,似乎没有简单的方法来实现这一目标。我发现对ShellExecute的一个天真的调用似乎什么也没做。然后我尝试了这个:

import time, win32api
win32api.ShellExecute(0, "print", "test.jpg", None, None, 0)
time.sleep(5)

添加对sleep()的调用后,会出现对话框,但是当python进程终止时,打印对话框也会关闭。

由于打印对话框在进程中运行,因此我看不到等待它的轻松等待。如果它作为一个单独的进程运行,那么等待该进程将是微不足道的。

我认为一个hacky解决方案是通过pythonw运行它,这样就不会出现控制台,并且长时间睡眠。你可能最终得到一些漫无目的地沉睡的流浪Python进程,但这可能并不重要。