「Python自动化办公」分享几个好用到爆的模块,建议收藏

liftword5个月前 (01-06)技术文章52

作者:俊欣

来源:关于数据分析与可视化

今天小编来给大家推荐几个在自动化办公领域当中非常好用的Python模块,可以帮助大家在工作当中及大地提高效率,避免重复机械化地操作流程。

Pathlib

涉及到文件系统操作的时候,相信不少人仍然在使用Python当中的OS模块,相比较之下,Pathlib模块有着不少优势,我们来看几个简单的案例

删除与创建目录

例如我们可以来创建与删除目录,代码如下

from pathlib import Path

currentPath = Path.cwd()
makePath = currentPath / 'pythonPractice'
makePath.mkdir()

那么同样的,删除目录的代码为

currentPath = Path.cwd()
delPath = currentPath / 'pythonPractice'
delPath.rmdir()

获取目录

例如我们想要获取当前所在的目录的路径,代码如下

currentPath = Path.cwd()
print(currentPath)

以及电脑用户所在的目录

homePath = Path.home()
print(homePath) 

路径的拼接

例如我们想要拼接出桌面的绝对路径,代码如下

Path(Path.home(), "Desktop")

也可以是

Path.joinpath(Path.home(), "Desktop")

目录文件的判断

针对指定的路径,我们能够来判断是否是文件夹以及是否是一个文件,代码如下

input_path = r"指定的路径"

if Path(input_path ).exists():
 if Path(input_path ).is_file():
  print("是文件哦!")
 elif Path(input_path ).is_dir():
  print("是文件夹哦!")
else:
 print("路径给的不对!")

glob

Python当中的glob模块主要是用来查找符合特定规则的目录和文件,并将搜索到的结果返回到一个列表当中去。

由于该模块支持使用正则通配符来进行查找,因此使用起来也是特别的方便,我们来看一下简单的案例,

path1 = r".\[0-9].jpg"
glob.glob(path1)

outut

['.\\1.jpg', '.\\2.jpg', '.\\3.jpg', ......]

其中经常会用到的通配符有

  • *:匹配0个或者多个字符
  • **:匹配所有文件、目录,子目录和子目录里面的文件
  • []:匹配指定范围内的字符,例如[1-9]匹配的是1-9以内的字符
  • [!]:匹配不在指定范围内的字符

我们再来看几个案例,代码如下

for fname in glob.glob("./*.py"):
    print(fname)

上面的代码打印出了当前目录下的所有py后缀的文件,再来看一下案例

for fname in glob.glob("./file[!0-9].py"):
    print(fname)

上面代码则是打印出了以filename开头的非数字符号的py文件。

PDF转成Word文档

最后我们来讲讲如何实现将PDF文档转换成Word格式的文档,用到的模块是pdf2docx,我们先用pip命令来将该模块安装一下

pip install pdf2docx

我们来实践一下,代码如下

from pdf2docx import Converter

cv = Converter(r"pdf文档的具体路径")
cv.convert("test.docx", start=0,end=None)
cv.close()

如果是页面元素比较简单的文档,pdf2docx模块处理一下是完全够用了,但是有些时候PDF文档当中个别页面非常的花里胡哨,转换成Word格式的文档之后则会显得有点凌乱。

最后我们还能够针对指定的页数进行转换,例如只是针对文档当中的奇数页进行操作,代码如下

from pdf2docx import Converter

cv = Converter(r"pdf文档的具体路径")
cv.convert("test.docx", pages=[1, 3, 5, 7])
cv.close()

相关文章

不知道学哪种编程语言?Python是首选!

如果编程语言是女生,绝对会让你眼花缭乱,思绪翩翩……有清纯可爱型的,有知性优雅型的,有成熟性感型的,还有如初恋一般甜蜜型的……,那么问题来了,如果你是一个什么都不懂的小白,应该选择哪种语(女)言(人)...

有了python,还需要IFTTT、Zapier这些低代码自动化应用吗?

Claude:在某些情况下,Python编程确实可以取代低代码自动化平台,甚至提供更强大的功能。但两者也有各自的优势,更好的方式是结合使用:Python的优势:1. 更强大的编程能力,可以实现更复杂的...

1. python的优点

易学。 python的语法简洁、简单,对于初学者非常友好;python自动管理内存,不需要开发者手动申请和释放内存;。可移植。python是一门跨平台的编程语言,同样的代码,可以在不做任何改动的情况下...

盘点爬虫语言为何选择Python而不是Java

大数据时代已经到来,当大家按照大数据的思维来推动工作业务开展时,就会发现大数据实际上已经遍布我们日常生活的方方面面。大数据分析之所以大,是因为其分析的数据是全量数据(或接近全量),其和以前的采样分析(...

20道常考Python面试题大总结

根据该网友的经验,以上是面试题的常考范围,如果能答出来大部分内容,说明技术水平基本没太大问题。建议每个问题至少答三点,同时注意观察面试官的反应,如果觉得面试官感兴趣的话可以多说一些,不感兴趣的话则可适...

使用 Python 数据类的 10 个令人信服的理由

Python 在3.7 版(PEP 557)中引入了数据类。顾名思义,数据类包含数据,使我们能够在类中解锁更多功能。概述传统上,我们使用特殊方法来初始化类属性并在这些属性之间执行操作。但是,当开发人员...