python文件與路徑操作神器?pathlib
pathlib中封裝了PurePath和Path類,前者用于處理路徑風格的字符串;后者是前者的子類,可直接處理路徑。
PurePath最甜的功能是重載了運算符,從而可以實現(xiàn)類似下面這種
>>> from pathlib import Path, PurePath
>>> pp = PurePath("E:/")
>>> pp
PureWindowsPath('E:/')
>>> pp/"test"
PureWindowsPath('E:/test')對于PurePath對象來說,可調(diào)用下面的成員或成員函數(shù):

其中,主文件名即去除后綴之后的文件名。
PurePath類中還有一些稍微復雜的函數(shù),
>>> pp = PurePath("E:\Code\test.py")
# 用于匹配文件后綴
>>> pp.match("*.py")
True
# 去除基準路徑
>>> 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的基礎上添加了一些判定函數(shù),
| 判定函數(shù) | ,is_file,is_fifo, is_block_device,is_char_device, is_mount,is_symlink,is_socket |
Path對象還可以打開并寫入數(shù)據(jù),但令人絕望的是并沒有close函數(shù),所以并不建議使用?;蛘哒f,這個Path.open不像是給程序員使用的,因為Path中提供了更加便捷的讀寫方式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'
>>>此外,可用于直接操作文件和文件夾,提供了非常強大的文件處理功能。Path和os中提供的函數(shù)在功能上對應如下


到此這篇關(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-12
Python3 selenium 實現(xiàn)QQ群接龍自動化功能
這篇文章主要介紹了Python3 selenium 實現(xiàn)QQ群接龍自動化功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
DataFrame:通過SparkSql將scala類轉(zhuǎn)為DataFrame的方法
今天小編就為大家分享一篇DataFrame:通過SparkSql將scala類轉(zhuǎn)為DataFrame的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
django model去掉unique_together報錯的解決方案
本文給大家分享的是在使用django model去掉unique_together時報錯的解決思路和具體步驟,提供給大家參考下,希望對大家學習使用django能夠有所幫助2016-10-10

