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