写点什么

10w+ 播放!自动化办公,用到了哪些实用的 Python 技术?

作者:程序员晚枫
  • 2023-11-15
    重庆
  • 本文字数:1518 字

    阅读完需:约 5 分钟

10w+播放!自动化办公,用到了哪些实用的Python技术?

大家好,这里是程序员晚枫,小红薯也叫这个名字。


去年 4 月,我在 Github 和 pypi 同步发布了自动化办公的专用库:python-office,并且有幸得到了开源中国的推荐。


截至目前,在 GitHub 和 Gitee 获得的 star⭐分别是:650、573,在小破站和百度发布的python-office的相关教程,都获得了 10w+的播放。



作为初次使用这个项目的小白,经常会被这个项目可以用 1 行代码实现复杂的办公需求所吸引,但简单的操作背后,有哪些复杂的技术支撑呢?


今天就给大家揭秘 5 个在python-office这个库中使用到的实用编程技巧,帮助感兴趣的同学进一步提高编程技术~

内置函数

首先要说的是最基础,也最实用的 python 技巧:使用内置函数。


给大家举个例子,python-office这个库里有一个功能非常受欢迎:PDF 转 Word,这个功能,既可以单个处理,也可以批量处理。



在批量处理之前/之后,程序会给你报告一下,本次待处理/处理了多少个文件。


这时候就需要用到一个编程:统计列表里的文件总数。


如果你不用内置函数,以实现你会这么写代码:


file_list = [a.pdf,b.pdf,c.pdf...]file_count = 0for file in file_list:    file_count += 1
复制代码


如果使用内置函数,1 行代码就搞定了:


file_list = [a.pdf,b.pdf,c.pdf...]file_count = len(file_list)
复制代码


使用内置函数除了代码简洁外,还有一个很明显的好处:代码速度更快!

装饰器

运行过代码的朋友还会发现:我们每个功能,都是自带视频教程的。


如何在不改变代码的情况下,给代码增加功能呢?这时候就可以用装饰器来实现了。


@instructiondef fake2excel(columns=['name'], rows=1, path='./fake2excel.xlsx', language='zh_CN'):    """    自动创建Excel,并且模拟数据    Args:        columns: 列名,可以模拟的列见源码。        rows: 生成多少行数据。默认值:1        path: 生成的Excel的位置和名称。        language: 数据用什么语言,默认是中文,可以填english,
Returns:
""" poexcel.fake2excel(columns, rows, path, language)
复制代码


自定义装饰器的方法,之前在同名小破站给大家分享过:利用世界杯,读懂 Python 装饰器

类型提示(Type Hints)

类型提示可以帮助开发者更容易地理解代码,同时可以让一些工具(如 IDE 和静态类型检查器)提供更好的代码分析和自动补全功能。类型提示在 Python 3.5 及以后的版本中通过类型注解(Type Annotations)和 typing 模块得到支持。


对于写 Java,尤其是写 C++的程序员来说,Python 中的类型定义用起来很难受。Type Hints可以提供一定程度的类型提示功能,但请注意,这个提示只对阅读代码有用,对于代码编译和运行没有任何作用。


举个例子:从 100 个 Excel 中,搜索包含'程序员晚枫'这几个字的 Excel 文件。


@instructiondef find_excel_data(search_key: str, target_dir: str):    poexcel.find_excel_data(search_key, target_dir)
复制代码


其中,search_key: str, target_dir: str表示:指定了参数的类型为 str。

面向对象

这一点不用多说了,因为稍微懂一点专业开发的朋友,都知道什么是面向对象。而不懂面向对象的业余开发,也没有必要懂。


具体代码,大家可以去python-office的代码仓库查看,每个 api 都是基于对象实现的。


  • GitHub:python-office

Path

pathlib 是跨平台的、面向对象的路径操作模块,可适用于不同的操作系统,其操作对象是各种操作系统中使用的路径(包括绝对路径和相对路径),pathlib 有两个主要的类,分别为 PurePath 和 Path。


python-office中主要使用的是Path,用起来真的很方便!


file_path = Path('./程序员晚枫的文件夹') / Path('./res')
复制代码


使用 Path 方法,拼接路径的时候就不需要使用 os.join 了,可以直接用/你敢信吗?大大提高了代码的可读性~




大家学习 或 使用代码过程中,有任何问题,都可以加入评论区交流哟~👇

发布于: 11 分钟前阅读数: 5
用户头像

C++开发,开源项目:python-office 2020-10-09 加入

还未添加个人简介

评论

发布
暂无评论
10w+播放!自动化办公,用到了哪些实用的Python技术?_Python_程序员晚枫_InfoQ写作社区