监控指定目录,如检测到新增对应格式的文件,立即调用系统默认打印机打印出来。
pythonimport os
import time
import win32api
import win32print
# 设置监控的文件夹路径
folder_to_watch = r"C:\\文件丢到该目录自动打印"
# 初始化文件名列表,用于避免重复打印
printed_files = []
# 获取默认打印机名称
default_printer = win32print.GetDefaultPrinter()
# 定义监控文件夹的函数
def watch_folder():
global printed_files
while True:
# 获取文件夹中的所有文件
files = os.listdir(folder_to_watch)
for file in files:
# 判断文件类型是否为word,excel,PDF,txt或者图片文件
if file.endswith((".doc", ".docx", ".xls", ".xlsx", ".pdf", ".txt", ".jpg", ".jpeg", ".png", ".gif")):
# 判断文件是否已经打印过
if file not in printed_files:
# 打印文件
file_to_print = os.path.join(folder_to_watch, file)
win32api.ShellExecute(0, "print", file_to_print, None, ".", 0)
# 将文件名添加到已打印文件列表中
printed_files.append(file)
# 每隔5秒检查一次文件夹中是否有新增文件
time.sleep(5)
# 启动监控文件夹的函数
watch_folder()
pip install pywin32
python main.py
环境 | 版本 |
---|---|
Python | 3.10.9 |
pywin32 | 306 |
本文作者:Gustav
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!