python判断打印机

请问用python怎么能够监控打印机的实时运行状态,如:正在打印,脱机等,来个解答下吧,困扰很久了

可以利用win32print等工具包,如果有用情采纳


import win32print

# 获取所有可用的打印机列表
printers = win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL)
for printer in printers:
    # 获取打印机名称
    name = printer[2]
    # 获取打印机状态
    status = win32print.GetPrinter(name, 2)['Status']
    if status == win32print.PRINTER_STATUS_ERROR:
        print(f'{name} is offline')
    elif status == win32print.PRINTER_STATUS_PENDING_DELETION:
        print(f'{name} is being deleted')
    elif status == win32print.PRINTER_STATUS_PAPER_JAM:
        print(f'{name} has a paper jam')
    elif status == win32print.PRINTER_STATUS_PAPER_OUT:
        print(f'{name} is out of paper')
    elif status == win32print.PRINTER_STATUS_MANUAL_FEED:
        print(f'{name} is waiting for manual feed')
    elif status == win32print.PRINTER_STATUS_PAPER_PROBLEM:
        print(f'{name} has a paper problem')
    elif status == win32print.PRINTER_STATUS_OFFLINE:
        print(f'{name} is offline')
    elif status == win32print.PRINTER_STATUS_IO_ACTIVE:
        print(f'{name} is printing')
    elif status == win32print.PRINTER_STATUS_BUSY:
        print(f'{name} is busy')
    else:
        print(f'{name} is unknown')