使用Python获取OS X中所有可用的打印机

2024-06-07 03:44:45 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我正在用Python测试打印机,我要做的是列出所有可用的打印机。在

现在我正在使用PyCups库,它在Connection类中公开了几个有用的api。其中还有getPrinters()

以下是我使用和使用的片段:

>>> import cups
>>> conn = cups.Connection ()
>>> printers = conn.getPrinters ()
>>> for printer in printers:
...     print printer, printers[printer]["device-uri"]
Brother_MFC_1910W_series
Photosmart_6520_series

我想知道有没有什么方法可以不使用任何外部库来编写上面的代码。我很确定不使用C语言是做不到这一点的

如有任何建议或参考文件,将不胜感激。谢谢

我正在使用python3


Tags: inimportapifordevice打印机connectionconn
2条回答

只可以将Python中的C库与标准模块一起使用。引用:CUPS APIctypes。将CUPS结构和调用转换为ctypes语法,我们得到一个在标准OS X Python和Python3下都能工作的代码:

^{1}$

使用ctypes时要特别小心,大多数错误都会产生分段错误。在

您可以使用终端命令lpstatman for OSX)执行类似的查询。Python的内置subprocess模块允许您运行该命令并存储输出。某些文本分析应提供打印机名称。在

^{1}$

相关问题 更多 >