如何将glob发现的文件发送到(默认)打印机

时间:2016-05-12 20:18:40

标签: python printing

我正在尝试编写一个程序,它将把目录中具有指定扩展名的所有文件连续打印出来。如果它们每次可以打印多次,但现在只打印一步,那就太好了。

我打算将.py文件保存在我将运行glob的目录中,以避免目录占位符问题......

我尝试了以下内容:

import os
import glob

os.startfile((glob.glob('*.docx*')), "print")

这给了我以下信息:

    Traceback (most recent call last):
  File "C:\Users\cmobley\Desktop\HI\print all in folder.py", line 11, in <module>
    os.startfile((glob.glob('*.docx*')), "print")
TypeError: Can't convert 'list' object to str implicitly

我知道这里有一些缺失的链接,我无法用手指指着它。我也试过其他方法但没有成功。在使用带有print参数的os.startfile之前,我已经成功打印了单个文档。我非常喜欢初学者,所以请放轻松我吧!我正在使用python 3.5,所以我的glob模块已更新。

1 个答案:

答案 0 :(得分:2)

glob.glob返回一个字符串列表,你不能os.startfile一个列表,你必须为列表中的每个字符串做。这解释了TypeError: Can't convert 'list' object to str implicitly

import glob
import os

for filename in glob.glob('*.docx*'):
    os.startfile(filename, "print")

多次打印:

import glob
import os

numPrints = 10

for filename in glob.glob('*.txt*'):
    for i in range(numPrints):
        print("Printing file", filename, "copy", i+1)
        os.startfile(filename, "print")