Python | Path 让文件路径提取变得简单(含代码)
文章目錄
- 原創聲明
- 前言
- 一、Path 是什么?
- 二、使用步驟
- 1.提取文件名
- 2.提取父文件路徑
- 3.提取文件后綴
- 4.提取無后綴的文件名
- 5.更改文件后綴
- 6.遍歷文件
- 7.組合文件路徑
- 8.是否絕對路徑
- 9.是否文件夾 or 文件
- 10.是否存在
- 11.glob
- 總結
- 參考
- 授權須知
原創聲明
本文為 HinGwenWoong 原創,如果這篇文章對您有幫助,歡迎轉載,轉載請閱讀文末的【授權須知】,感謝您對 HinGwenWoong 文章的認可!
前言
我們在編寫代碼的時候經常會和文件系統做交互,但是 os.path 屬于比較基礎的庫,我們在提取文件夾的名字、后綴或者父文件名字的時候需要經常用到 split,切割之后需要對得到的 list 進行提取,有時候得到的效果不是我們需要的,而且代碼代碼寫得也不是特別的友好,這里我們介紹 Python3 自帶的庫 Path,可以讓我們使用更少的代碼但是與之而來的是更高的效率。
我是 HinGwenWoong,一個有著清晰目標不停奮斗的程序猿,熱愛技術,喜歡分享,碼字不易,如果幫到您,請幫我在屏幕下方點贊 👍 ,您的點贊可以讓技術傳播得更遠更廣,謝謝!
一、Path 是什么?
該模塊提供表示文件系統路徑的類,其語義適用于不同的操作系統。路徑類被分為提供純計算操作而沒有 I/O 的 純路徑,以及從純路徑繼承而來但提供 I/O 操作的 具體路徑。
在一些用例中純路徑很有用,例如:
-
如果你想要在 Unix 設備上操作 Windows 路徑(或者相反)。你不應在 Unix 上實例化一個 WindowsPath,但是你可以實例化 PureWindowsPath。
-
你只想操作路徑但不想實際訪問操作系統。在這種情況下,實例化一個純路徑是有用的,因為它們沒有任何訪問操作系統的操作。
二、使用步驟
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.是否絕對路徑
方法名 : 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')]總結
以上就是我經常使用 Path 的方法,這可以讓您操作文件路徑的時候更少的代碼并且更高效。
我是 HinGwenWoong,一個有著清晰目標不停奮斗的程序猿,熱愛技術,喜歡分享,碼字不易,如果幫到您,請幫我在屏幕下方點贊 👍 ,您的點贊可以讓技術傳播得更遠更廣,謝謝!
更多閱讀推薦
- Python識別二維碼條形碼?用pyzbar一招搞掂(含代碼)
- Python | 不會用 Python 打 tar 包?一招解決!(含代碼)
參考
- [1] pathlib — 面向對象的文件系統路徑
授權須知
但對于未注明轉載來源/原文鏈接的文章,我將保留追述的權利。
作者:HinGwenWoong
一個有著清晰目標不停奮斗的程序猿,熱愛技術,喜歡分享,共同進步!
CSDN: HinGwenWoong
原文鏈接:Python | Path 讓文件路徑提取變得簡單(含代碼)
總結
以上是生活随笔為你收集整理的Python | Path 让文件路径提取变得简单(含代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度推广 计算机访问url,百度推广助手
- 下一篇: ae效果英文版翻译对照表_AE表达式中英