python实现【wps】批量打印文件(支持遍历所有子文件夹)

概述

        本文主要使用了3个库,os、time、pyautogui。由于代码比较简单,采用的是面向过程的方式进行敲码。pyauyigui库的主要功能是交互式操作window,提供了一些简单的操作函数。分为四个大的板块,分别是操作鼠标,操作键盘,提示框,截图功能。
        安装方式: pip3 install pyautogui / pip install pyautogui,如果安装失败,请注明python的版本。
参考文档:pyautogui
https://pyautogui.readthedocs.io/en/latest/

"""
面向对象版本
使用说明:
            1.只针对wps,暂时不支持office。
            2.填写相应的参数即可
            3.文件夹允许有不需要打印的文件,但不支持存放在多个文件夹。在文件夹里的文件将不参与识别
            4.文件管理器必须勾选文件扩展名选项
            
参数说明:
            path:完整的文件路径
            file_extension:文件的后缀(不包含".")
更新升级: 2.0版本
			1.支持遍历文件夹,遍历顺序是从顺序“子-子-子”
			2.打印失败原因提示
"""
import os
import pyautogui as mouse
import time
import re

class runing(object):
    def __init__(self, path, file_extension):
        self.path = path
        self.file_extension = file_extension

    def open_file(self):
        for root, dirs, files in os.walk(self.path, topdown=True):
            for name in files:
                file = os.path.join(root, name)
                if (file.endswith(".%s" % self.file_extension) == True) and ("~$" not in file):
                    print("准备把--%s--添加进打印机序列" % file)
                    os.system("start %s" % file)
                    self.Operation_screen()

    def Operation_screen(self):
        time.sleep(3)
        mouse.PAUSE = 1
        mouse.hotkey("ctrl", "p")
        time.sleep(3)
        mouse.press("enter")
        time.sleep(3)
        mouse.hotkey("ctrl","w")
        time.sleep(3)

    def __del__(self):
        print("----没有将文件添加到文件列表的原因----\n1.没有找到匹配成功的文件\n2.文件路径有误")
        os.system("start taskkill /f /t /im wps.exe")

def main():
    path = input("请输入文件夹路径:")
    file_extension = input("请输入需要批量打印的文件后缀:")

    printer = runing(path, file_extension)
    printer.open_file()
    

if __name__ == '__main__':
    main()


        接下来会进一步完善代码,功能,有需要的伙伴可以点赞加好友联系作者。(需要.exe直接运行文件也可联系作者)



如有疑问或需数据请联系作者可留言博客或+
qq:1769190045

文章内容只供参考学习阅读,不可他用(特别商用)。侵权必追究其法律责任

————————部分内容参考他人博客文章————————

你可能感兴趣的:(python#基础,#数据库,#爬虫,python,大数据)