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

时间:2016-03-15 21:38:10

标签: python-3.x winapi printing runtime-error shellexecute

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

  

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

这段代码给出的问题如下:

win32api.ShellExecute(0,"print",doc_path,None,".",0)

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

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

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

在该计算机上安装Foxit阅读器即可解决此问题。

答案 1 :(得分:0)

在执行简单的print()命令时,但在通过以下命令启用utf-8的命令窗口中,出现了此错误:

chcp 65001

set PYTHONIOENCODING=UTF-8

这导致了错误;可能是因为python尝试在终端上打印的字符串与utf-8使用的编码不同。

答案 2 :(得分:0)

我遇到了同样的问题。不过,仅仅安装一个 pdf 阅读器是不够的,我还必须将它设为打开 pdf 文件的默认程序才能使其正常工作。