python學習 pathlib路徑操作

2021-09-22 22:33:34 字數 2620 閱讀 9134

from pathlib import path

目錄初始化

路徑拼接和分解

操作符 / :

分解:

獲取路徑

str() 獲取路徑字串

bytes() 獲取路徑字串的bytes

父目錄parent 目錄的邏輯父目錄

parents 父目錄序列, 可迭代物件, 索引0是直接的父

目錄組成部分

name、stem、sufx、sufxes、with_sufx(sufx)、with_name(name)

name目錄的最後乙個部分

suffix目錄中最後乙個部分的副檔名

stem目錄最後乙個部分,沒有字尾

name=stem+suffix

suffixes返回多個副檔名列表

with_suffix(suffix)有副檔名則替換,無則補充副檔名

with_name(name)替換目錄最後乙個部分並返回乙個新的路徑

全域性方法

cwd() 返回當前工作目錄

home() 返回當前家目錄

判斷方法

exists()目錄或檔案是否存在

is_dir()是否是目錄,目錄存在返回true

is_file()是否是普通檔案,檔案存在返回true

is_symlink()是否是軟鏈結

is_socket()是否是socket檔案

is_block_device()是否是塊裝置

is_char_device()是否是字元裝置

is_absolute()是否是絕對路徑

####### 絕對路徑

resolve()非windows,返回乙個新的路徑,這個新路徑就是當前path物件的絕對路徑,如果是軟鏈結則直接被解析。

absolute()獲取絕對路徑。

刪除空目錄

rmdir()刪除空目錄。沒有提供判斷目錄為空的方法

建立檔案

touch(mode=0o666,exist_ok=true)建立乙個檔案

as_uri()將路徑返回成uri,例如』file:///etc/passwd』

建立目錄

mkdir(mode=0o777,parents=false,exist_ok=false)

parents,是否建立父目錄,true等同於mkdir-p。false時,父目錄不存在,則丟擲filenotfounderror

exist_ok引數,在3.5版本加入。false時,路徑存在,丟擲fileexistserror;true時,fileexistserror被忽略

iterdir()迭代當前目錄,不遞迴

萬用字元glob(pattern)通配給定的模式

rglob(pattern)通配給定的模式,遞迴目錄

都返回乙個生成器

?代表乙個字元

*表示任意個字元

[abc]或[a-z]表示乙個字元

匹配match(pattern) 模式匹配, 成功返回true

stat() 相當於stat命令

lstat() 同stat(), 但如果是符號鏈結, 則顯示符號鏈結本身的檔案資訊

檔案操作

path.open(mode=『r』, buffering=-1, encoding=none, errors=none, newline=none)

使用方法類似內建函式open。返回乙個檔案物件

3.5增加的新函式

path.read_bytes()

以』rb』讀取路徑對應檔案,並返回二進位製流。

path.read_text(encoding=none, errors=none)

以』rt』方式讀取路徑對應檔案,返回文字。

path.write_bytes(data)

以』wb』方式寫入資料到路徑對應檔案。

path.write_text(data, encoding=none, errors=none)

以』wt』方式寫入字串到路徑對應檔案。

超好用python庫 Pathlib

pathlib有多好用?可能只能這樣解釋了 自從接觸了pathlib,之前用的os相關操作,基本上就不想再用了 笑哭 這裡先做部分總結,在之後的使用中會繼續更新 from pathlib import path p path windowspath p.resolve 文件顯示是absolute p...

python路徑庫pathlib應用

from pathlib import path from tkinter importw 常用p path util print type p p print type str p p print p.exists print p.is dir 路徑組合 p2 p actions.py print...

Python用pathlib庫操作路徑

在日常編碼中,常常會有這些操作 在當前目錄或使用者目錄下新建乙個配置檔案,獲取乙個檔案的路徑或上級目錄 這些都涉及路徑操作 相信大家都使用過os.path來處理過,這個痛苦我想 誰用誰知道吧 今天的主角pathlib就是來解決痛苦的 pathlib是跨平台的 物件導向的路徑操作庫,相對os.path...