Python標(biāo)準(zhǔn)庫os.path包、glob包使用實例
os.path包
os.path包主要用于處理字符串路徑,比如'/home/zikong/doc/file.doc',提取出有用的信息。
import os.path
path = '/home/zikong/doc/file.doc'
print(os.path.basename(path)) # 查詢路徑中包含的文件名
print(os.path.dirname(path)) # 查詢路徑中包含的目錄
info = os.path.split(path) # 將路徑分割成文件名和目錄兩個部分,放在一個表中返回
path2 = os.path.join('\', 'home', 'zikong', 'doc', 'file.doc') #使用目錄名和文件名構(gòu)成一個路徑字符串
p_list = [path, path2]
print(os.path.commonprefix(p_list)) # 查詢多個路徑的共同部分
os.path.normpath(path) # 去除路徑path中的冗余。比如'/home/vamei/../.'被轉(zhuǎn)化為'/home'
#os.path還可以查詢文件的相關(guān)信息(metadata)。文件的相關(guān)信息不存儲在文件內(nèi)部,而是由操作系統(tǒng)
#維護的,關(guān)于文件的一些信息(比如文件類型,大小,修改時間)。
import os.path
path = '/home/vamei/doc/file.txt'
print(os.path.exists(path)) # 查詢文件是否存在
print(os.path.getsize(path)) # 查詢文件大小
print(os.path.getatime(path)) # 查詢文件上一次讀取的時間
print(os.path.getmtime(path)) # 查詢文件上一次修改的時間
print(os.path.isfile(path)) # 路徑是否指向常規(guī)文件
print(os.path.isdir(path)) # 路徑是否指向目錄文件
glob包
glob是python自己帶的一個文件操作相關(guān)模塊,內(nèi)容也不多,用它可以查找符合自己目的的文件,就類似于Windows下的文件搜索,而且也 支持通配符,,?,[]這三個通配符,代表0個或多個字符,?代表一個字符,[]匹配指定范圍內(nèi)的字符,如[0-9]匹配數(shù)字。
glob方法: 返回所有匹配的文件路徑列表,該方法需要一個參數(shù)用來指定匹配的路徑字符串(本字符串可以為絕對路徑也可以為相對路徑),比如:
import glob
glob.glob("/home/zikong/doc/*.doc")
/home/zikong/doc/file1.doc /home/zikong/doc/file2.doc
例子
綜合利用兩個包寫的一個類似于linux下的ls函數(shù):
#coding = utf8
import glob
import os.path
path = '/Users/zikong/Pictures'
def ls(path):
#codinf = utf8
print "--name-- --type-- --size-- --atime-- --mtime-- "
path = path + '/*'
filelist = glob.glob(path)
for filepath in filelist:
out = '%s %s %s %s %s'%(filepath.split('/')[4] ,os.path.isfile(filepath) ,os.path.getsize(filepath) ,os.path.getatime(filepath) ,os.path.getmtime(filepath))
print out
ls(path)
注意
#coding=utf
是為了讓python能夠顯示中文
相關(guān)文章
基于PyTorch實現(xiàn)EdgeCNN的實戰(zhàn)教程
本文我們將使用PyTorch來簡易實現(xiàn)一個EdgeCNN,不使用PyG庫,讓新手可以理解如何PyTorch來搭建一個簡易的圖網(wǎng)絡(luò)實例demo,感興趣的朋友跟隨小編一起看看吧2023-02-02淺談Tensorflow加載Vgg預(yù)訓(xùn)練模型的幾個注意事項
這篇文章主要介紹了淺談Tensorflow加載Vgg預(yù)訓(xùn)練模型的幾個注意事項說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05BatchNorm2d原理、作用及pytorch中BatchNorm2d函數(shù)的參數(shù)使用
這篇文章主要介紹了BatchNorm2d原理、作用及pytorch中BatchNorm2d函數(shù)的參數(shù)使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12詳解Django自定義圖片和文件上傳路徑(upload_to)的2種方式
這篇文章主要介紹了詳解Django自定義圖片和文件上傳路徑(upload_to)的2種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)從任意長度的可迭代對象中分解元素操作示例
這篇文章主要介紹了Python 數(shù)據(jù)結(jié)構(gòu)與算法 從任意長度的可迭代象中分解元素操作,結(jié)合實例形式分析了Python使用*表達(dá)式針對可迭代對象的分解操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-02-02python 操作sqlite數(shù)據(jù)庫的方法
sqlite的官網(wǎng) sqlite.org/index.html SQLite 作為一個SQL數(shù)據(jù)庫引擎,是由C語言實現(xiàn)的,又小又快,具有高可靠性且功能齊全。 作為嵌入式數(shù)據(jù)庫,在移動設(shè)備中使用非常廣泛且方便。本文講解如何使用python操作sqlite數(shù)據(jù)庫2021-06-06python自動化測試selenium定位frame及iframe示例
這篇文章主要為大家介紹了python自動化測試selenium定位frame及iframe示例的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11