python文件與路徑操作神器?pathlib
pathlib中封裝了PurePath
和Path類,前者用于處理路徑風(fēng)格的字符串;后者是前者的子類,可直接處理路徑。
PurePath
最甜的功能是重載了運(yùn)算符,從而可以實(shí)現(xiàn)類似下面這種
>>> from pathlib import Path, PurePath >>> pp = PurePath("E:/") >>> pp PureWindowsPath('E:/') >>> pp/"test" PureWindowsPath('E:/test')
對于PurePath對象來說,可調(diào)用下面的成員或成員函數(shù):
其中,主文件名即去除后綴之后的文件名。
PurePath
類中還有一些稍微復(fù)雜的函數(shù),
>>> pp = PurePath("E:\Code\test.py") # 用于匹配文件后綴 >>> pp.match("*.py") True # 去除基準(zhǔn)路徑 >>> pp.relative_to("E:\\") PureWindowsPath('Code\test.py') # 更改文件名 >>> pp.with_name('test1.py') PureWindowsPath('E:/test1.py') # 更改后綴名 >>> pp.with_suffix(".md") PureWindowsPath('E:/Code\test.md') # 更改主文件名 >>> pp.with_stem("help.md") PureWindowsPath('E:/help.md.py')
Path
Path是PurePath的子類,在PurePath的基礎(chǔ)上添加了一些判定函數(shù),
判定函數(shù) | ,is_file,is_fifo, is_block_device,is_char_device, is_mount,is_symlink,is_socket |
Path對象還可以打開并寫入數(shù)據(jù),但令人絕望的是并沒有close函數(shù),所以并不建議使用。或者說,這個Path.open不像是給程序員使用的,因?yàn)镻ath中提供了更加便捷的讀寫方式read_bytes,read_text以及write_bytes、write_text。
例如:
>>> p = Path(r'E:\Documents\00\0324\Test.txt') >>> p.write_text("hello world") 11 >>> p.read_text() 'hello world' >>>
此外,可用于直接操作文件和文件夾,提供了非常強(qiáng)大的文件處理功能。Path和os中提供的函數(shù)在功能上對應(yīng)如下
到此這篇關(guān)于python文件與路徑操作神器 pathlib的文章就介紹到這了,更多相關(guān)python 中的pathlib內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
注意import和from import 的區(qū)別及說明
這篇文章主要介紹了注意import和from import 的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09讓python json encode datetime類型
python2.6+ 自帶的json模塊,不支持datetime的json encode,每次都需要手動轉(zhuǎn)為字符串,很累人,我們可以自己封裝一個簡單的方法處理此問題。2010-12-12Python3 selenium 實(shí)現(xiàn)QQ群接龍自動化功能
這篇文章主要介紹了Python3 selenium 實(shí)現(xiàn)QQ群接龍自動化功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04DataFrame:通過SparkSql將scala類轉(zhuǎn)為DataFrame的方法
今天小編就為大家分享一篇DataFrame:通過SparkSql將scala類轉(zhuǎn)為DataFrame的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01django model去掉unique_together報(bào)錯的解決方案
本文給大家分享的是在使用django model去掉unique_together時報(bào)錯的解決思路和具體步驟,提供給大家參考下,希望對大家學(xué)習(xí)使用django能夠有所幫助2016-10-10