从相机上传图像时将图像发送到打印机

时间:2013-12-21 15:36:20

标签: python image printing

我需要让计算机在摄像机到达时自动打印图像。

我的一位朋友建议使用此代码

monRep = "/**/Desktop/DATA/"
import os, mimetypes, random

fpaths = []
for fname in os.listdir(monRep):
    fpath = os.path.join(monRep, fname)
    if os.path.isfile(fpath):
        mt = mimetypes.guess_type(fpath)[0]
        ext = os.path.splitext(fpath)[1]
        if mt: mt = mt.split('/')[0].lower()
        else: mt = False
        #if ext.lower() in ('.bmp','.pict', '.JPG', '.jpg'): mt = 'image'
        if mt in ('image',): fpaths.append(fpath)

choix = random.choice(fpaths)
command = "lpr "+choix
print (command)
os.system(command)

它可以工作,但只适用于一个图像。我需要打印所有图像。

这是我的想法

  1. 检查文件夹“DATA”
  2. 查找Image1
  3. 打印Image1
  4. 暂停30秒(等待下一张图片)
  5. 重复步骤1

1 个答案:

答案 0 :(得分:2)

所以,而不是打印一张随机照片的代码

choix = random.choice(fpaths)
command = "lpr "+choix
print (command)
os.system(command)

你想要打印它们,只需写一个循环:

for fpath in fpaths:
    command = "lpr "+fpath
    print (command)
    os.system(command)

我建议将文件移动到新文件夹,这样下次运行时就不会出现重复打印:

for fpath in fpaths:
    newpath = fpath.replace('/DATA/','/DONE/')
    os.rename(fpath,newpath)
    command = "lpr "+newpath
    print (command)
    os.system(command)