日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python | Path 让文件路径提取变得简单(含代码)

發布時間:2023/12/31 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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.py

2.提取父文件路徑

方法名 : .parent

from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/demo.py") path_parent_path = path_str.parent print(path_parent_path)

輸出

\user\HinGwenWoong

3.提取文件后綴

方法名 : .suffix

from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/demo.py") path_suffix = path_str.suffix print(path_suffix)

輸出

.py

4.提取無后綴的文件名

方法名 : .stem

from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/demo.py") path_only_name = path_str.stem print(path_only_name )

輸出

demo

5.更改文件后綴

方法名 : .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.json

6.遍歷文件

方法名 : .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.log

7.組合文件路徑

方法名 : .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.py

8.是否絕對路徑

方法名 : is_absolute()

from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/") print(path_str.is_absolute())

輸出

True

9.是否文件夾 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 False

10.是否存在

方法名 : .exists()

from pathlib import Pathpath_str = Path(r"/usr/HinGwenWoong/") print(path_str.exists())

輸出

True

11.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 让文件路径提取变得简单(含代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。