Python | Path 让文件路径提取变得简单(含代码)
文章目錄
- 原創(chuàng)聲明
- 前言
- 一、Path 是什么?
- 二、使用步驟
- 1.提取文件名
- 2.提取父文件路徑
- 3.提取文件后綴
- 4.提取無后綴的文件名
- 5.更改文件后綴
- 6.遍歷文件
- 7.組合文件路徑
- 8.是否絕對(duì)路徑
- 9.是否文件夾 or 文件
- 10.是否存在
- 11.glob
- 總結(jié)
- 參考
- 授權(quán)須知
原創(chuàng)聲明
本文為 HinGwenWoong 原創(chuàng),如果這篇文章對(duì)您有幫助,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)閱讀文末的【授權(quán)須知】,感謝您對(duì) HinGwenWoong 文章的認(rèn)可!
前言
我們?cè)诰帉懘a的時(shí)候經(jīng)常會(huì)和文件系統(tǒng)做交互,但是 os.path 屬于比較基礎(chǔ)的庫,我們?cè)谔崛∥募A的名字、后綴或者父文件名字的時(shí)候需要經(jīng)常用到 split,切割之后需要對(duì)得到的 list 進(jìn)行提取,有時(shí)候得到的效果不是我們需要的,而且代碼代碼寫得也不是特別的友好,這里我們介紹 Python3 自帶的庫 Path,可以讓我們使用更少的代碼但是與之而來的是更高的效率。
我是 HinGwenWoong,一個(gè)有著清晰目標(biāo)不停奮斗的程序猿,熱愛技術(shù),喜歡分享,碼字不易,如果幫到您,請(qǐng)幫我在屏幕下方點(diǎn)贊 👍 ,您的點(diǎn)贊可以讓技術(shù)傳播得更遠(yuǎn)更廣,謝謝!
一、Path 是什么?
該模塊提供表示文件系統(tǒng)路徑的類,其語義適用于不同的操作系統(tǒng)。路徑類被分為提供純計(jì)算操作而沒有 I/O 的 純路徑,以及從純路徑繼承而來但提供 I/O 操作的 具體路徑。
在一些用例中純路徑很有用,例如:
-
如果你想要在 Unix 設(shè)備上操作 Windows 路徑(或者相反)。你不應(yīng)在 Unix 上實(shí)例化一個(gè) WindowsPath,但是你可以實(shí)例化 PureWindowsPath。
-
你只想操作路徑但不想實(shí)際訪問操作系統(tǒng)。在這種情況下,實(shí)例化一個(gè)純路徑是有用的,因?yàn)樗鼈儧]有任何訪問操作系統(tǒng)的操作。
二、使用步驟
1.提取文件名
方法名 : .name
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/demo.py") path_file_name = path_str.name print(path_file_name)輸出
demo.py2.提取父文件路徑
方法名 : .parent
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/demo.py") path_parent_path = path_str.parent print(path_parent_path)輸出
\user\HinGwenWoong3.提取文件后綴
方法名 : .suffix
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/demo.py") path_suffix = path_str.suffix print(path_suffix)輸出
.py4.提取無后綴的文件名
方法名 : .stem
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/demo.py") path_only_name = path_str.stem print(path_only_name )輸出
demo5.更改文件后綴
方法名 : .with_suffix
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/demo.py") path_suffix = path_str.with_suffix(".json") print(path_suffix)輸出
\user\HinGwenWoong\demo.json6.遍歷文件
方法名 : .iterdir()
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/logs") for path in path_str.iterdir():print(path)輸出
/user/HinGwenWoong/log/20210517.log /user/HinGwenWoong/log/20210518.log /user/HinGwenWoong/log/20210519.log /user/HinGwenWoong/log/20210524.log /user/HinGwenWoong/log/20210525.log7.組合文件路徑
方法名 : .joinpath
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/") path_str_join = path_str.joinpath("demo.py") print(path_str_join)輸出
\user\HinGwenWoong\demo.py8.是否絕對(duì)路徑
方法名 : is_absolute()
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/") print(path_str.is_absolute())輸出
True9.是否文件夾 or 文件
方法名 : is_dir()、 is_file()
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/") print(path_str.is_dir()) print(path_str.is_file())輸出
True False10.是否存在
方法名 : .exists()
from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/") print(path_str.exists())輸出
True11.glob
方法名 : .glob
from pathlib import Pathpath_str = Path(r"/user/HinGwenWoong/scripts") print(path_str.glob('*.py'))輸出
[PosixPath('/user/HinGwenWoong/scripts/demo_1.py'), PosixPath('/user/HinGwenWoong/scripts/demo_2.py')]總結(jié)
以上就是我經(jīng)常使用 Path 的方法,這可以讓您操作文件路徑的時(shí)候更少的代碼并且更高效。
我是 HinGwenWoong,一個(gè)有著清晰目標(biāo)不停奮斗的程序猿,熱愛技術(shù),喜歡分享,碼字不易,如果幫到您,請(qǐng)幫我在屏幕下方點(diǎn)贊 👍 ,您的點(diǎn)贊可以讓技術(shù)傳播得更遠(yuǎn)更廣,謝謝!
更多閱讀推薦
- Python識(shí)別二維碼條形碼?用pyzbar一招搞掂(含代碼)
- Python | 不會(huì)用 Python 打 tar 包?一招解決!(含代碼)
參考
- [1] pathlib — 面向?qū)ο蟮奈募到y(tǒng)路徑
授權(quán)須知
但對(duì)于未注明轉(zhuǎn)載來源/原文鏈接的文章,我將保留追述的權(quán)利。
作者:HinGwenWoong
一個(gè)有著清晰目標(biāo)不停奮斗的程序猿,熱愛技術(shù),喜歡分享,共同進(jìn)步!
CSDN: HinGwenWoong
原文鏈接:Python | Path 讓文件路徑提取變得簡單(含代碼)
總結(jié)
以上是生活随笔為你收集整理的Python | Path 让文件路径提取变得简单(含代码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度推广 计算机访问url,百度推广助手
- 下一篇: Python实现批量网站URL存活检测