0

我想通过 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 内核。有什么建议么?

4

2 回答 2

0

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

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

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

于 2013-03-27T00:17:09.853 回答
0

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

udevadm info -q property /dev/usb/lp0

应该足以区分设备。

于 2019-04-19T10:31:07.737 回答