大家有没有发现Python越来越火了?哪怕不是程序员,也有很多人学起了Python。就像以前学习办公软件三件套一样:Word、Excel、PPT。

普通人学习Python只是为了提高自己的工作效率,而不是想成为Python大师。

所以对不是程序员的朋友来说,学习Python自动化办公就足够用了。因为其它方向:爬虫、Web开发、AI等,都是专业开发才会用到的。

网上很多宣传学习Python好处的视频和文章,今天我就来唱个反调:给大家科普一下Python自动化办公的5个缺点。

5个缺点

为了照顾不懂编程的朋友,我们这里不讲抽象的编程概念,就以开源中国的推荐过的、Python自动化办公的专用库:python-office为代表,来细数Python自动化办公的5个缺点。

如果你觉得这5个缺点自己能接受,再学习Python自动化办公也不迟

不支持Mac

因为大多数常用的办公软件是微软开发的,自动化办公针对的也是这些办公软件的批量操作,例如我们之前分享过的:批量PDF转Word、批量PPT的合并。

再加上大部分人用的是windows系统的电脑,所以python-office这个库也只支持Windows系统。

这对于使用Mac电脑的朋友来说,无疑是一个致命的缺点。

不够专业

因为python-office主要是给不懂程序的人使用的,所以大部分功能都是1行代码搞定,看起来不是专业的用法。

就拿python-office中的一个热门功能:图片批量加水印为例,只需要下面1行代码就可以实现:


import office

office.image.add_watermark()

是不是不会代码也能看的懂?

但其实背后的代码很长很复杂,我简单截一个片段给大家看一下:


    def add_watermark(self, file, mark, output_path, color="#eaeaea", size=30, opacity=0.35, space=75,
                      angle=30):
        """
        @Author & Date  : 程序员晚枫 2022/5/6 14:33
        @Desc  : 给图片添加水印
        @Return  : 添加了水印的图片,输出到out指定的文件夹
        """
        out = Path(output_path).absolute()  # 拼接输出文件和文件夹,为输出路径
        images_list = get_files(file)
        # for image_path in simple_progress(images_list):
        #     add_watermark_service.add_mark2file(image_path, mark, str(out), color, size, opacity, space, angle)
        processes = multiprocessing.cpu_count()
        # 创建线程池
        with ThreadPoolExecutor(max_workers=2 * processes + 1) as executor:
            # 向线程池添加任务
            for i in range(len(images_list)):
                params = (images_list[i], mark, str(out), color, size, opacity, space, angle)
                executor.submit(lambda cxp: add_watermark_service.add_mark2file(*cxp),
                                params) 

包含的内容多

这也是缺点吗?对于专业开发来说,这的确是缺点。

如上一个缺点所述,因为python-office给小白把所有复杂的代码都封装起来了,随之而来的代价就是这个代码包必然会很大,大概有200M左右。

有一个好处是学习其它自动化办公的代码就不用反复下载和安装了,这些代码都是可以重复使用的。而且用完以后也可以一键全部删除。

技术门槛不高

python-office目前一共开发了75个功能,超过60个功能都可以通过1行代码调用,剩下的功能也最多5行代码就能解决。

所以这个库的学习成本极低,通过官方视频教程进行学习,只需要看完一个3小时的课程就能熟练运用了。

所以即使你学会了这个库,除了对于工作效率有提升以外,并不能给你带来很强的职业优势。因为别人想学习也很快就能掌握,除非你的同事找不到官方视频教程。(🐕)

速度慢

这里的速度慢是相对于其它专业Python代码来说的,因为这个库简单功能的背后是大量代码在支撑,所以每次启动都需要1-2秒的时间。

比起其它程序1/1000秒的启动速度,python-office的速度慢了1000倍,但即使这样,比人工还是快了很多。

之前有一个读者说用自动化办公的代码批量识别发票,10分钟就识别完了过去1个月手动录入的发票数量。

代码再慢,也比人快。

学习指南

如果上面5个缺点你看完都能接受,你可以去看一下python-office的全套视频教程👉给小白的《50讲 · Python自动化办公》

这套教程来自Python中国的讲师:程序员晚枫,教程里是他专门研究Python如何帮助小白进行自动化办公5年多总结出来的案例合集。帮助不懂编程的人快速掌握这门提高工作效率的技术。