我正在尝试编写一个程序,它将把目录中具有指定扩展名的所有文件连续打印出来。如果它们每次可以打印多次,但现在只打印一步,那就太好了。
我打算将.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模块已更新。
答案 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")