社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

分享几个好用到爆的 Python 模块,建议收藏!

AI科技大本营 • 1 年前 • 222 次点击  

作者 | 俊欣

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

今天小编来给大家推荐几个在自动化办公领域当中非常好用的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()


往期回顾

“如今,99%以上的代码都是垃圾!”


Deepfake 技术换脸真假难辨!


当你不再是程序员,很多事会脱离掌控


7岁男童因下棋太快,被机器人夹断手指?


分享

点收藏

点点赞

点在看

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/138236
 
222 次点击