python escpos直接打印文本

python escpos直接打印文本,python,printing,thermal-printer,Python,Printing,Thermal Printer,嗨,我正在实现一个python脚本,它应该在一台58毫米POS热敏打印机上“实时”打印一些文本。为此,我使用python escpos库。一切正常,但我发现打印机在脚本完成后开始打印。我无法理解这一点,因为我想在循环过程中发出不同的Epson.text(“foobar”)命令。目前,所有文本打印语句都是在完整循环(带有一些睡眠的演示循环(5))完成后打印的,我回到命令promt from escpos import * from time import sleep Epson = printe

嗨,我正在实现一个python脚本,它应该在一台58毫米POS热敏打印机上“实时”打印一些文本。为此,我使用python escpos库。一切正常,但我发现打印机在脚本完成后开始打印。我无法理解这一点,因为我想在循环过程中发出不同的Epson.text(“foobar”)命令。目前,所有文本打印语句都是在完整循环(带有一些睡眠的演示循环(5))完成后打印的,我回到命令promt

from escpos import *
from time import sleep

Epson = printer.File("/dev/usb/lp0")

while True:
 Epson.text("Hello World\n")
 sleep(5)

我目前正在维护python escpos。(超过)

使用“文件”-打印机时,此时必须调用printer.flush(),否则将不会发送打印缓冲区。
我提出了一个问题,即我们是否应该使该行为适应其他打印机的行为。

您能澄清最后一句话吗?我用“sudo python script.py”启动脚本,然后让它运行一段时间(例如30秒)。在我取消脚本之前,打印机不会执行任何操作。在取消打印机启动并打印所有“hello world”打印输出后,我发现在执行“Epson.close()”之后,打印机开始打印-可能问题是我在文件系统/dev/usb/lp0上使用热敏打印机。为了解决这个问题,我现在可以在while循环中打开打印机的文件连接,并在睡眠前关闭它(5)。从逻辑上讲,这种打印机是为客户打印票据而设计的。这张票总是被机器切割的。我注意到,当您发送了Epson.cut()命令时,打印就开始了。只是一个更新:python escpos的v2.1.2现在在每个命令后都会自动刷新。我正在使用您的脚本,将它改编为我的Epson TM-T88IV和V,将两个ID都更改为0x04b8、0x0e02或0x04b8、0x0202,并且我收到一条错误消息
TypeError:\uuuuu init\uuuuuuu()有一个意外的关键字参数“profile”
你有什么想法,我能做什么?谢谢你的帮助。MichaelYou或许应该为此提出一个新问题。乍一看,您可能有2.2版或类似的版本。请确保检查此版本的正确文档。当前版本3仅在使用pip安装预览版本时可用(当前为alpha)