作者 | 俊欣
來源 | 關於數據分析與可視化
今天小編來給大家推薦幾個在自動化辦公領域當中非常好用的Python
模塊,可以幫助大家在工作當中及大地提高效率,避免重復機械化地操作流程.
涉及到文件系統操作的時候,相信不少人仍然在使用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("路徑給的不對!")
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格式的文檔,用到的模塊是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歲男童因下棋太快,被機器人夾斷手指?
分享
點收藏
點點贊
點在看