python的lib文件夹_python遍历文件夹os.path与pathlib
首先我們來(lái)一個(gè)需求,這個(gè)函數(shù)接受文件夾的名稱作為輸入?yún)?shù),返回該文件夾中文件的路徑,以及其包含文件夾中文件的路徑。
def print_dir_contents(sPath):
import os
for sChild in os.listdir(sPath):
sChildPath = os.path.join(sPath,sChild)
if os.path.isdir(sChildPath):
# 迭代
print_dir_contents(sChildPath)
else:
print(sChildPath)
os.path模塊是在python2和3中都存在的模塊,如果項(xiàng)目的最終測(cè)試環(huán)境不是確定在py3中,還是建議使用os.path,它還是很簡(jiǎn)單適用的。
同時(shí)os.path模塊還包括很多屬性,比如說(shuō)讀取一個(gè)文件,但是可能存在文件不存在的情況,一般都是采用try,catch,也可以使用一條語(yǔ)句判斷
os.path.isfile(fname)
列舉幾個(gè)
os.path.split(path)
('c:\csv', 'test.csv')
將path分割成目錄和文件名二元組返回。
os.path.commonprefix(list)
返回list中,所有path共有的最長(zhǎng)的路徑。
os.path.exists(path)
如果path存在,返回True;如果path不存在,返回False。
os.path.isabs(path)
如果path是絕對(duì)路徑,返回True。
os.path.normpath(path)
規(guī)范化路徑。
os.path.splitext(path)
分離文件名與擴(kuò)展名
os.path.getmtime(path)
返回path所指向的文件或者目錄的最后修改時(shí)間
pathlib
自python3開(kāi)始,加入了pathlib庫(kù)
導(dǎo)入庫(kù)
from pathlib import Path
root = Path("../PycharmProject")
config_dir = root/Path("config")
# 等價(jià)于config_dir = os.path.join(root, 'config')
print(str(config_dir))
從這里可以看出pathlib更加簡(jiǎn)化
config.files = config_dir.rglob("*.json")
正則匹配文件
Path.iterdir() #遍歷目錄的子目錄或者文件
Path.is_dir() #判斷是否是目錄
Path.glob() #過(guò)濾目錄(返回生成器)
Path.resolve() #返回絕對(duì)路徑
Path.exists() #判斷路徑是否存在
Path.open() #打開(kāi)文件(支持with)
Path.unlink() #刪除文件或目錄(目錄非空觸發(fā)異常)
Path.chmod() #更改路徑權(quán)限, 類似os.chmod()
Path.expanduser() #展開(kāi)~返回完整路徑對(duì)象
Path.mkdir() #創(chuàng)建目錄
Path.rename() #重命名路徑
Path.rglob() #遞歸遍歷所有子目錄的文件
Path.parts #分割路徑 類似os.path.split(), 不過(guò)返回元組
path.suffix #文件后綴
path.stem #文件名不帶后綴
path.name #帶后綴的完整文件名
path.parent #路徑的上級(jí)目錄
總結(jié)
以上是生活随笔為你收集整理的python的lib文件夹_python遍历文件夹os.path与pathlib的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: shell mysql eof_shel
- 下一篇: python 爬取贝壳网小区名称_如何使