作者:俊欣
來(lái)源:關(guān)于數(shù)據(jù)分析與可視化
今天小編來(lái)給大家推薦幾個(gè)在自動(dòng)化辦公領(lǐng)域當(dāng)中非常好用的Python模塊,可以幫助大家在工作當(dāng)中及大地提高效率,避免重復(fù)機(jī)械化地操作流程。
Pathlib
涉及到文件系統(tǒng)操作的時(shí)候,相信不少人仍然在使用Python當(dāng)中的OS模塊,相比較之下,Pathlib模塊有著不少優(yōu)勢(shì),我們來(lái)看幾個(gè)簡(jiǎn)單的案例
刪除與創(chuàng)建目錄
例如我們可以來(lái)創(chuàng)建與刪除目錄,代碼如下
from pathlib import PathcurrentPath = Path.cwd()makePath = currentPath / 'pythonPractice'makePath.mkdir()
那么同樣的,刪除目錄的代碼為
currentPath = Path.cwd()delPath = currentPath / 'pythonPractice'delPath.rmdir()
獲取目錄
例如我們想要獲取當(dāng)前所在的目錄的路徑,代碼如下
currentPath = Path.cwd()print(currentPath)
以及電腦用戶所在的目錄
homePath = Path.home()print(homePath)
路徑的拼接
例如我們想要拼接出桌面的絕對(duì)路徑,代碼如下
Path(Path.home(), "Desktop")
也可以是
Path.joinpath(Path.home(), "Desktop")
目錄文件的判斷
針對(duì)指定的路徑,我們能夠來(lái)判斷是否是文件夾以及是否是一個(gè)文件,代碼如下
input_path = r"指定的路徑"if Path(input_path ).exists(): if Path(input_path ).is_file(): print("是文件哦!") elif Path(input_path ).is_dir(): print("是文件夾哦!")else: print("路徑給的不對(duì)!")
glob
Python當(dāng)中的glob模塊主要是用來(lái)查找符合特定規(guī)則的目錄和文件,并將搜索到的結(jié)果返回到一個(gè)列表當(dāng)中去。
由于該模塊支持使用正則通配符來(lái)進(jìn)行查找,因此使用起來(lái)也是特別的方便,我們來(lái)看一下簡(jiǎn)單的案例,
path1 = r".[0-9].jpg"glob.glob(path1)
outut
['.\1.jpg', '.\2.jpg', '.\3.jpg', ......]
其中經(jīng)常會(huì)用到的通配符有
- *:匹配0個(gè)或者多個(gè)字符
- **:匹配所有文件、目錄,子目錄和子目錄里面的文件
- []:匹配指定范圍內(nèi)的字符,例如[1-9]匹配的是1-9以內(nèi)的字符
- [!]:匹配不在指定范圍內(nèi)的字符
我們?cè)賮?lái)看幾個(gè)案例,代碼如下
for fname in glob.glob("./*.py"): print(fname)
上面的代碼打印出了當(dāng)前目錄下的所有py后綴的文件,再來(lái)看一下案例
for fname in glob.glob("./file[!0-9].py"): print(fname)
上面代碼則是打印出了以filename開頭的非數(shù)字符號(hào)的py文件。
PDF轉(zhuǎn)成Word文檔
最后我們來(lái)講講如何實(shí)現(xiàn)將PDF文檔轉(zhuǎn)換成Word格式的文檔,用到的模塊是pdf2docx,我們先用pip命令來(lái)將該模塊安裝一下
pip install pdf2docx
我們來(lái)實(shí)踐一下,代碼如下
from pdf2docx import Convertercv = Converter(r"pdf文檔的具體路徑")cv.convert("test.docx", start=0,end=None)cv.close()
如果是頁(yè)面元素比較簡(jiǎn)單的文檔,pdf2docx模塊處理一下是完全夠用了,但是有些時(shí)候PDF文檔當(dāng)中個(gè)別頁(yè)面非常的花里胡哨,轉(zhuǎn)換成Word格式的文檔之后則會(huì)顯得有點(diǎn)凌亂。
最后我們還能夠針對(duì)指定的頁(yè)數(shù)進(jìn)行轉(zhuǎn)換,例如只是針對(duì)文檔當(dāng)中的奇數(shù)頁(yè)進(jìn)行操作,代碼如下
from pdf2docx import Convertercv = Converter(r"pdf文檔的具體路徑")cv.convert("test.docx", pages=[1, 3, 5, 7])cv.close()