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