无需CUPS即可获取USB打印机信息

时间:2013-03-25 23:42:19

标签: python linux printing linux-kernel usb

我想通过USB连接多台打印机,并向每台打印机发送打印文件。我知道打印机列为/dev/usb/lp0/dev/usb/lp1,目前,我正在使用此python指令将文件发送到打印机

for files in os.listdir('/folder/with/print/files'):
        shutil.copyfile('/folder/with/print/files', '/dev/usb/lp0')

但是,我注意到Linux没有按任何特定顺序标记lp0lp1。由于我这样将文件发送到打印机,我不想使用CUPS来获取每台打印机的信息。我宁愿不让我的打印调用依赖于搜索驱动程序,因为我已经为这些打印机格式化了这些文件。相反,我想找到一种替代方法来获取lp *(lp0,lp1等)的打印机信息。我最好通过python来做这件事,或者使用os函数来浏览Linux内核。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

尝试在shell命令中使用lpr,而不是直接写入打印机设备!

http://www.tldp.org/HOWTO/Printing-Usage-HOWTO-2.html

看起来它可以让您按名称选择打印机。

答案 1 :(得分:0)

使用udevadm命令可以获取USB设备的供应商/型号/序列号:

udevadm info -q property /dev/usb/lp0

足以区分设备。