pathlib的常用方法

2021-10-04 13:27:48 字數 3647 閱讀 5886

要例項化乙個新路徑,可以提供乙個字串作為第乙個引數。要建立乙個新路徑來指示相對於已有路徑的值,可以使用 '/'操作符擴充套件路徑。這個操作符的引數可以是字串,也可以是路徑物件。

from pathlib import path

p = path(

'c:\\users\\administrator\\desktop'

)print

(p)p = p /

'aa.txt'

print

(p)

輸出結果:

c:\users\administrator\desktop

c:\users\administrator\desktop/aa.txt

拼接符 『/』 有以下三種操作:

此操作與os.path.join相似!對os.path.join有疑問,可參考os.path.join

路徑物件提供了一些方法和屬性可以從路徑名中抽取出部分值。例如,parts屬性可以生成根據路徑分隔符值解析得到的乙個路徑段序列。

>>

>

from pathlib import path

>>

>p = path(

'c:\\users\\administrator\\desktop'

)>>

>

print

(p.parts)

('c:\\'

,'users'

,'administrator'

,'desktop'

)

parts屬性,可以返回路徑中的每一部分.

有兩種辦法可以從乙個給定的路徑物件在檔案系統層次結構上「向上」導航。這裡直接看**更直觀。

>>

>

from pathlib import path

>>

>p = path(

'c:\\users\\administrator\\desktop'

)>>

>

print

(p.parent)

c:\users\administrator

>>

>

print

(p.parent.parent)

c:\users

parents是乙個迭代器,每呼叫一次,目錄向上一次。

>>

>

for x in p.parents:

print

(x)c:\users\administrator

c:\users

c:\

這個例子迭代處理parents屬性,並列印成員值。

>>

>

from pathlib import path

>>

>p = path(

'c:\\users\\administrator\\desktop'

)>>

>

print

(' : '

.format

('path'

, p)

)>>

>

print

(' : '

.format

('name'

, p.name)

)>>

>

print

(' : '

.format

('suffix'

, p.suffix)

)>>

>

print

(' : '

.format

('stem'

, p.stem)

)path : c:\users\administrator\desktop\aa.txt

name : aa.txt

suffix :

.txt

stem : aa

name屬性:包含路徑的最後一部分,即最後乙個路徑分隔符後面的內容(與os.path.basename()生成的值相同)

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

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

另外還有這兩個屬性:

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

with_suffix(suffix) :替換副檔名,返回新的路徑,副檔名存在則不變

>>

>

from pathlib import path

>>

>path.home(

)windowspath(

'c:/users/administrator'

)>>

>path.cwd(

)windowspath(

'c:/users/administrator'

)

返回型別為布林值:

is_dir() 是否是目錄

is_file() 是否是普通檔案

>>

>

from pathlib import path

>>

>p = path(

'c:/users/administrator'

)>>

>p.is_dir(

)true

>>

>p1 = p /

'text.txt'

>>

>p1.is_file(

)false

resolve() 返回乙個新的路徑,這個新路徑就是當前path物件的絕對路徑

exists()屬性:該路徑是否指向現有的目錄或檔案

>>

>path(

'c:/users/administrator'

).exists(

)true

mkdir(parents=false,exist_ok=false) 建立目錄

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

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

>>

> p = path(

'c:/users/administrator/desktop/'

)>>

> p = p /

'test'

/'test1'

>>

> p.mkdir(parents=

true

,exist_ok=

true

)# 在桌面上建立test目錄,test內建立test1目錄

touch(exist_ok=true) 建立乙個檔案

as_uri() 將路徑返回成uri(uniform resource identifier,統一資源識別符號,是乙個用於標識某一網際網路資源名稱的字串)

Pathlib常用功能小記

幾點注意 1.使用pathlib的返回值是windowspath型別,不能直接用於字串操作。2.pandas可以直接讀取windowspath型別 3.路徑拼接沒有join,而是 pathlib.path path1,import pathlib root pathlib.path print ro...

pathlib 的操作記錄

import pathlib 今天碰到 tipdir pathlib.path file resolve parents 2 這個操作目錄的庫 簡單執行了一下 file這個識別符號返回當前檔案的名字 tipdir 返回的是當前檔案的二級父目錄 parents 2 c users wallace.hu...

mysql常用方法 mysql 常用方法

處理字元 1 concat aaa bbb ccc 拼接字串,oracle也有這個方法不過只能拼接2個,而且一般用 mysql中 表示或。相當於or 2 ifnull name,aaa 當name null時,返回 aaa 3.upper aaa lower aaa 變為大寫,小寫 4.substr...