Python win32 ShellExecute 错误 31:“连接到系统的设备无法运行。”

Ign*_*cio 4 printing winapi runtime-error shellexecute python-3.x

我有一个 python 程序,我尝试将文档发送到打印机。它在我的机器上运行良好,将本地打印机设置为默认打印机,并通过 USB 与我的笔记本电脑连接。但是,当我在另一台计算机上尝试使用其默认打印机位于网络中时,它无法工作。我得到的错误是:

pywintypes.error: (31, 'ShellExecute', '连接到系统的设备无法运行。')

出现问题的代码如下:

win32api.ShellExecute(0,"print",doc_path,None,".",0)
Run Code Online (Sandbox Code Playgroud)

我认为问题是因为打印机是使用网络而不是 USB 连接的,但这可能是另一回事。

谢谢你的帮助。

Ign*_*cio 8

我找到了错误的原因:计算机没有安装 pdf 阅读器,这导致了该错误(要打印的文件是 pdf)。

安装 Foxit reader(并使其成为打开 pdf 的默认程序)解决了该问题。