日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python pathlib模塊使用方法及實例解析

瀏覽:24日期:2022-07-09 10:10:49

pathlib 模塊中包含的是一些類,它們的繼承關(guān)系如圖 1 所示。

圖 1 pathlib模塊中類的組織結(jié)構(gòu)

Python pathlib模塊使用方法及實例解析

圖 1 中,箭頭連接的是有繼承關(guān)系的兩個類,以 PurePosixPath 和 PurePath 類為例,PurePosizPath 繼承自 PurePath,即前者是后者的子類。

pathlib 模塊的操作對象是各種操作系統(tǒng)中使用的路徑(例如指定文件位置的路徑,包括絕對路徑和相對路徑)。這里簡單介紹一下圖 1 中包含的幾個類的具體功能:

PurePath 類會將路徑看做是一個普通的字符串,它可以實現(xiàn)將多個指定的字符串拼接成適用于當(dāng)前操作系統(tǒng)的路徑格式,同時還可以判斷任意兩個路徑是否相等。注意,使用 PurePath 操作的路徑,它并不會關(guān)心該路徑是否真實有效。 PurePosixPath 和 PureWindowsPath 是 PurePath 的子類,前者用于操作 UNIX(包括 Mac OS X)風(fēng)格的路徑,后者用于操作 Windows 風(fēng)格的路徑。 Path 類和以上 3 個類不同,它操作的路徑一定是真實有效的。Path 類提供了判斷路徑是否真實存在的方法。 PosixPath 和 WindowPath 是 Path 的子類,分別用于操作 Unix(Mac OS X)風(fēng)格的路徑和 Windows 風(fēng)格的路徑。

注意,UNIX 操作系統(tǒng)和 Windows 操作系統(tǒng)上,路徑的格式是完全不同的,主要區(qū)別在于根路徑和路徑分隔符,UNIX 系統(tǒng)的根路徑是斜杠(/),而 Windows 系統(tǒng)的根路徑是盤符(C:);UNIX 系統(tǒng)路徑使用的分隔符是斜杠(/),而 Windows 使用的是反斜杠()。

PurePath 類的用法

PurePath 類(以及 PurePosixPath 類和 PureWindowsPath 類)都提供了大量的構(gòu)造方法、實例方法以及類實例屬性,供我們使用。

PurePath類構(gòu)造方法

需要注意的是,在使用 PurePath 類時,考慮到操作系統(tǒng)的不同,如果在 UNIX 或 Mac OS X 系統(tǒng)上使用 PurePath 創(chuàng)建對象,該類的構(gòu)造方法實際返回的是 PurePosixPath 對象;反之,如果在 Windows 系統(tǒng)上使用 PurePath 創(chuàng)建對象,該類的構(gòu)造方法返回的是 PureWindowsPath 對象。

當(dāng)然,我們完全可以直接使用 PurePosixPath 類或者 PureWindowsPath 類創(chuàng)建指定操作系統(tǒng)使用的類對象。

例如,在 Windows 系統(tǒng)上執(zhí)行如下語句:

from pathlib import *# 創(chuàng)建PurePath,實際上使用PureWindowsPathpath = PurePath(’my_file.txt’)print(type(path))

程序執(zhí)行結(jié)果為:

<class ’pathlib.PureWindowsPath’>

顯然,在 Windows 操作系統(tǒng)上,使用 PurePath 類構(gòu)造函數(shù)創(chuàng)建的是 PureWindowsPath 類對象。

讀者可自行嘗試在 UNIX 或者 Mac OS X 系統(tǒng)上執(zhí)行該程序。

除此之外,PurePath 在創(chuàng)建對象時,也支持傳入多個路徑字符串,它們會被拼接成一個路徑格式的字符串。例如:

from pathlib import *# 創(chuàng)建PurePath,實際上使用PureWindowsPathpath = PurePath(’http:’,’c.biancheng.net’,’python’)print(path)

程序執(zhí)行結(jié)果為:

http:c.biancheng.netpython

可以看到,由于本機(jī)為 Windows 系統(tǒng),因此這里輸出的是適用于 Windows 平臺的路徑。如果想在 Windows 系統(tǒng)上輸出 UNIX 風(fēng)格的路徑字符串,就需要使用 PurePosixPath 類。例如:

from pathlib import *path = PurePosixPath(’http:’,’c.biancheng.net’,’python’)print(path)

程序執(zhí)行結(jié)果為:

http:/c.biancheng.net/python

值的一提的是,如果在使用 PurePath 類構(gòu)造方法時,不傳入任何參數(shù),則等同于傳入點(diǎn)‘.’(表示當(dāng)前路徑)作為參數(shù)。例如:

from pathlib import *path = PurePath()print(path)path = PurePath(’.’)print(path)

程序執(zhí)行結(jié)果為:

..

另外,如果傳入 PurePath 構(gòu)造方法中的多個參數(shù)中,包含多個根路徑,則只會有最后一個根路徑及后面的子路徑生效。例如:

from pathlib import *path = PurePath(’C://’,’D://’,’my_file.txt’)print(path)

程序執(zhí)行結(jié)果為:

D:my_file.txt

注意,對于 Windows 風(fēng)格的路徑,只有盤符(如 C、D等)才能算根路徑。

需要注意的是,如果傳給 PurePath 構(gòu)造方法的參數(shù)中包含有多余的斜杠或者點(diǎn)( . ,表示當(dāng)前路徑),會直接被忽略( .. 不會被忽略)。舉個例子:

from pathlib import *path = PurePath(’C://./my_file.txt’)print(path)

程序執(zhí)行結(jié)果為:

C:my_file.txt

PurePath 類還重載各種比較運(yùn)算符,多余同種風(fēng)格的路徑字符串來說,可以判斷是否相等,也可以比較大小(實際上就是比較字符串的大小);對于不同種風(fēng)格的路徑字符串之間,只能判斷是否相等(顯然,不可能相等),但不能比較大小。

舉個例子:

from pathlib import *# Unix風(fēng)格的路徑區(qū)分大小寫print(PurePosixPath(’C://my_file.txt’) == PurePosixPath(’c://my_file.txt’))# Windows風(fēng)格的路徑不區(qū)分大小寫print(PureWindowsPath(’C://my_file.txt’) == PureWindowsPath(’c://my_file.txt’))

程序執(zhí)行結(jié)果為:

FalseTrue

比較特殊的是,PurePath 類對象支持直接使用斜杠(/)作為多個字符串之間的連接符,例如:

from pathlib import *path = PurePosixPath(’C://’)print(path / ’my_file.txt’)

程序執(zhí)行結(jié)果為:

C:/my_file.txt

通過以上方式構(gòu)建的路徑,其本質(zhì)上就是字符串,因此我們完全可以使用 str() 將 PurePath 對象轉(zhuǎn)換成字符串。例如:

from pathlib import *# Unix風(fēng)格的路徑區(qū)分大小寫path = PurePosixPath(’C://’,’my_file.txt’)print(str(path))

程序執(zhí)行結(jié)果為:

C:/my_file.txt

PurePath類實例屬性和實例方法

表 1 中羅列出了常用的以下 PurePath 類實例方法和屬性。由于從本質(zhì)上講,PurePath 的操作對象是字符串,因此表 1 中的這些實例屬性和實例方法,實質(zhì)也是對字符串進(jìn)行操作。

表 1 PurePath 類屬性和方法

類實例屬性和實例方法名 功能描述 PurePath.parts 返回路徑字符串中所包含的各部分。 PurePath.drive 返回路徑字符串中的驅(qū)動器盤符。 PurePath.root 返回路徑字符串中的根路徑。 PurePath.anchor 返回路徑字符串中的盤符和根路徑。 PurePath.parents 返回當(dāng)前路徑的全部父路徑。 PurPath.parent 返回當(dāng)前路徑的上一級路徑,相當(dāng)于 parents[0] 的返回值。 PurePath.name 返回當(dāng)前路徑中的文件名。 PurePath.suffixes 返回當(dāng)前路徑中的文件所有后綴名。 PurePath.suffix 返回當(dāng)前路徑中的文件后綴名。相當(dāng)于 suffixes 屬性返回的列表的最后一個元素。 PurePath.stem 返回當(dāng)前路徑中的主文件名。 PurePath.as_posix() 將當(dāng)前路徑轉(zhuǎn)換成 UNIX 風(fēng)格的路徑。 PurePath.as_uri() 將當(dāng)前路徑轉(zhuǎn)換成 URL。只有絕對路徑才能轉(zhuǎn)換,否則將會引發(fā) ValueError。 PurePath.is_absolute() 判斷當(dāng)前路徑是否為絕對路徑。 PurePath.joinpath(*other) 將多個路徑連接在一起,作用類似于前面介紹的斜杠(/)連接符。 PurePath.match(pattern) 判斷當(dāng)前路徑是否匹配指定通配符。 PurePath.relative_to(*other) 獲取當(dāng)前路徑中去除基準(zhǔn)路徑之后的結(jié)果。 PurePath.with_name(name) 將當(dāng)前路徑中的文件名替換成新文件名。如果當(dāng)前路徑中沒有文件名,則會引發(fā) ValueError。 PurePath.with_suffix(suffix) 將當(dāng)前路徑中的文件后綴名替換成新的后綴名。如果當(dāng)前路徑中沒有后綴名,則會添加新的后綴名。

對于表 1 中的這些實例屬性和實例方法的用法,這里不再舉例演示,有興趣的讀者可自行嘗試它們的功能。

Path類的功能和用法

和 PurPath 類相比,Path 類的最大不同,就是支持對路徑的真實性進(jìn)行判斷。

從圖 1 可以輕易看出,Path 是 PurePath 的子類,因此 Path 類除了支持 PurePath 提供的各種構(gòu)造函數(shù)、實例屬性以及實例方法之外,還提供甄別路徑字符串有效性的方法,甚至還可以判斷該路徑對應(yīng)的是文件還是文件夾,如果是文件,還支持對文件進(jìn)行讀寫等操作。

和 PurePath 一樣,Path 同樣有 2 個子類,分別為 PosixPath(表示 UNIX 風(fēng)格的路徑)和 WindowsPath(表示 Windows 風(fēng)格的路徑)。

由于文章篇幅有限,Path 類屬性和方法眾多,因此這里不再一一進(jìn)行講解,感興趣的讀者可通過官方手冊 https://docs.python.org/3/library/pathlib.html 進(jìn)行查閱。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线看片国产福利你懂的| 免费美女久久99| 日韩欧美美女在线观看| 91嫩草精品| 国产va免费精品观看精品视频| 吉吉日韩欧美| 噜噜噜躁狠狠躁狠狠精品视频| 丝袜脚交一区二区| 欧美精品中文字幕亚洲专区| 美日韩一区二区三区| 日韩毛片在线| 蜜臀精品久久久久久蜜臀| 国产亚洲人成a在线v网站| 日韩精品亚洲专区| 美女高潮久久久| 国产综合亚洲精品一区二| 久久午夜影视| 国产成人精品一区二区三区视频| 亚洲成人不卡| 亚洲免费福利一区| 国产传媒av在线| 视频一区视频二区中文| 精品三区视频| 亚洲精品大全| 亚洲风情在线资源| 日本v片在线高清不卡在线观看| 国产激情综合| 日韩在线a电影| 欧美极品一区二区三区| 亚洲激情五月| 精品欠久久久中文字幕加勒比| 免费精品视频在线| 9999国产精品| 日韩精品视频网| 午夜久久免费观看| 91视频久久| 国产精品成人国产| 亚洲精品一区二区在线播放∴| 日韩精品水蜜桃| 狠狠久久伊人中文字幕| 欧美亚洲自偷自偷| 日本 国产 欧美色综合| 99久久久久久中文字幕一区| 国产精品sss在线观看av| 一区二区三区国产盗摄| 亚洲深爱激情| 欧美另类专区| 亚洲精品午夜av福利久久蜜桃| 日韩中文欧美| 五月激情久久| 黄在线观看免费网站ktv| 久久av日韩| 美女视频黄 久久| 欧美激情视频一区二区三区免费 | 蜜臀国产一区二区三区在线播放| 五月天久久网站| 亚洲综合精品| 欧美高清不卡| 在线视频精品| 亚洲综合图色| 欧美日韩xxxx| 久久99影视| 成人三级高清视频在线看| 国产精品伦理久久久久久| 四虎国产精品免费观看| 久草免费在线视频| 久久高清免费| 久久亚洲不卡| 亚洲婷婷丁香| 国产黄色一区| 欧美日韩精品免费观看视完整| 欧美日韩一区二区三区视频播放| 免费在线观看一区| 久久久影院免费| 伊人久久成人| 国产欧美69| 亚洲三级欧美| 免费在线观看成人| 国产精品一区二区精品| 中文字幕在线官网| 激情五月色综合国产精品| 婷婷成人av| 水蜜桃久久夜色精品一区| 亚洲一区黄色| 欧美xxxx中国| 蜜桃久久精品一区二区| 精品国产三区在线| 99在线精品免费视频九九视| 欧美日韩国产传媒| 国产精品porn| 久久精品xxxxx| 亚洲精品88| 精品精品99| 黄色aa久久| 成人午夜国产| 91精品91| 亚洲三级毛片| 日本aⅴ精品一区二区三区 | 久久国产精品色av免费看| 中文字幕亚洲影视| 欧美日韩四区| 免费看黄色91| 国产日韩欧美一区二区三区 | 97精品国产一区二区三区| 日本一不卡视频| 美日韩精品视频| 91精品91| 蜜桃视频免费观看一区| 日韩av一级| 久久中文亚洲字幕| 中文字幕在线官网| 国产一区二区三区日韩精品| 日韩高清电影一区| 日韩精品欧美大片| 国产精品久久久免费| 麻豆精品国产91久久久久久| 精品国产亚洲一区二区三区| 日韩综合在线| 国产一区视频在线观看免费| 国产精品婷婷| 蜜桃视频一区二区| 国产极品嫩模在线观看91精品| 美女视频网站久久| 久久久久久美女精品| 亚洲一区观看| 欧美三区不卡| 国产超碰精品| 国内精品99| 日韩二区在线观看| 久久成人av| 欧洲av一区二区| 婷婷成人基地| 亚洲日产av中文字幕| 美日韩一区二区三区| 欧洲激情综合| 国产精品a级| 亚洲成人国产| 国产日韩一区| 日韩精品欧美| 少妇精品久久久一区二区| 国产伦精品一区二区三区千人斩| 国产suv精品一区二区四区视频 | 国内一区二区三区| 国产亚洲一级| 免费日韩成人| 亚洲精品美女| 欧美 日韩 国产一区二区在线视频 | 老鸭窝毛片一区二区三区| 麻豆精品在线| 免费国产亚洲视频| 欧美成人基地 | 日韩高清中文字幕一区二区| 国产精品视区| 日韩精品中文字幕第1页| 日韩三级精品| 欧美福利一区| 中文字幕人成乱码在线观看| 久久福利影视| 激情欧美丁香| 精品一区二区三区视频在线播放 | 亚洲欧洲免费| 久久国产精品毛片| 亚洲天堂久久| 久久精品免费一区二区三区| 美女久久久久久 | 免费在线观看成人| 99成人超碰| 亚洲91精品| 亚洲一区国产| 免费看欧美美女黄的网站| 亚洲午夜免费| 免费观看在线色综合| 欧美午夜不卡| 久久最新视频| 免费的成人av| 综合亚洲自拍| 日韩av二区在线播放| 欧美日韩黄网站| 国产精品分类| 国产三级精品三级在线观看国产| 久久国产尿小便嘘嘘| 久久中文精品| 午夜久久中文| 老司机精品久久| 伊人www22综合色| 日本一不卡视频| 欧美国产中文高清| 国产+成+人+亚洲欧洲在线| 麻豆视频一区二区| 精品国产亚洲一区二区三区在线 | 精品三级在线| 激情婷婷综合| 婷婷精品在线观看| 蜜桃av一区二区| 国产精品一国产精品k频道56| 国产va免费精品观看精品视频| 久久中文视频| 日韩中文字幕一区二区高清99| 国产精品theporn| 美女毛片一区二区三区四区|