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