python?os.stat()如何獲取相關文件的系統(tǒng)狀態(tài)信息
python os.stat()獲取相關文件的系統(tǒng)狀態(tài)信息
stat 系統(tǒng)調用時用來返回相關文件的系統(tǒng)狀態(tài)信息的。
下面直接以一個具體示例來進行簡要說明
os.stat() 形參接收一個包含路徑的文件名,其返回值有10個
列表如下:
返回屬性 | 解釋 |
---|---|
st_mode | inode 保護模式 |
st_ino | inode 節(jié)點號 |
st_dev | inode 駐留的設備 |
st_nlink | inode 的鏈接數(shù) |
st_uid | 所有者的用戶ID |
st_gid | 所有者的組ID |
st_size | 普通文件以字節(jié)為單位的大小 |
st_atime | 最后一次訪問的時間 |
st_mtime | 最后一次修改的時間 |
st_ctime | 文件創(chuàng)建時間 |
如果想要訪問文件的相關信息,則可直接通過點語法獲取。例如,若要獲取某個文件的大小,則如下即可:
os.stat('utils.py').st_size
舉一個實際項目中的例子
說是要對某個路徑下的所有小于 10kb 的文件進行計數(shù),以便后續(xù)處理,則可:
for image_file in os.listdir(os.getcwd()): img_info = os.stat(image_file) if img_info.st_size < 10240: k += 1 print(k)
有了這些屬性后,就可對相關文件進行篩選和特異性處理,十分方便。
這是對 os.stat() 用法的簡要總結,在實際開發(fā)過程中,會不斷遇到新的模塊或者三方庫,筆者會選擇較為常用或者較為實用的進行記錄分享,當然,學會查閱官方文檔是最好的選擇。
python os模塊的常用操作
方法 | 說明 |
---|---|
os.path.abspath(path) | 返回絕對路徑 |
os.path.basename(path) | 返回文件名 |
os.path.commonprefix(list) | 返回list(多個路徑)中,所有path共有的最長的路徑 |
os.path.dirname(path) | 返回文件路徑 |
os.path.exists(path) | 如果路徑 path 存在,返回 True;如果路徑 path 不存在,返回 False。 |
os.path.lexists | 路徑存在則返回True,路徑損壞也返回True |
os.path.expanduser(path) | 把path中包含的"~"和"~user"轉換成用戶目錄 |
os.path.expandvars(path) | 根據(jù)環(huán)境變量的值替換path中包含的"$name"和"${name}" |
os.path.getatime(path) | 返回最近訪問時間(浮點型秒數(shù)) |
os.path.getmtime(path) | 返回最近文件修改時間 |
os.path.getctime(path) | 返回文件 path 創(chuàng)建時間 |
os.path.getsize(path) | 返回文件大小,如果文件不存在就返回錯誤 |
os.path.isabs(path) | 判斷是否為絕對路徑 |
os.path.isfile(path) | 判斷路徑是否為文件 |
os.path.isdir(path) | 判斷路徑是否為目錄 |
os.path.islink(path) | 判斷路徑是否為鏈接 |
os.path.ismount(path) | 判斷路徑是否為掛載點 |
os.path.join(path1[, path2[, ...]]) | 把目錄和文件名合成一個路徑 |
os.path.normcase(path) | 轉換path的大小寫和斜杠 |
os.path.normpath(path) | 規(guī)范path字符串形式 |
os.path.realpath(path) | 返回path的真實路徑 |
os.path.relpath(path[, start]) | 從start開始計算相對路徑 |
os.path.samefile(path1, path2) | 判斷目錄或文件是否相同 |
os.path.sameopenfile(fp1, fp2) | 判斷fp1和fp2是否指向同一文件 |
os.path.samestat(stat1, stat2) | 判斷stat tuple stat1和stat2是否指向同一個文件 |
os.path.split(path) | 把路徑分割成 dirname 和 basename,返回一個元組 |
os.path.splitdrive(path) | 一般用在 windows 下,返回驅動器名和路徑組成的元組 |
os.path.splitext(path) | 分割路徑,返回路徑名和文件擴展名的元組 |
os.path.splitunc(path) | 把路徑分割為加載點與文件 |
os.path.walk(path, visit, arg) | 遍歷path,進入每個目錄都調用visit函數(shù),visit函數(shù)必須有3個參數(shù)(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有文件名,args則為walk的第三個參數(shù) |
os.path.supports_unicode_filenames | 設置是否支持unicode路徑名 |
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python中if的基礎用法(if?else和if?not)
if在Python中用作某個條件或值的判斷,下面這篇文章主要給大家介紹了關于python中if的基礎用法,主要包括if?else和if?not,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-09-09Python使用修飾器執(zhí)行函數(shù)的參數(shù)檢查功能示例
這篇文章主要介紹了Python使用修飾器執(zhí)行函數(shù)的參數(shù)檢查功能,結合具體實例形式分析了Python實現(xiàn)修飾器針對函數(shù)參數(shù)檢查的原理、步驟與相關操作技巧,需要的朋友可以參考下2017-09-09深入理解Python虛擬機中整型(int)的實現(xiàn)原理及源碼剖析
在本篇文章當中主要給大家介紹在 cpython 內部是如何實現(xiàn)整型數(shù)據(jù) int 的,主要是分析 int 類型的表示方式,分析 int 類型的巧妙設計2023-03-03Django模型層實現(xiàn)多表關系創(chuàng)建和多表操作
使用django ORM可以創(chuàng)建多表關系,并且也支持多張表之間的操作,以創(chuàng)建表關系和查詢兩部分說明django ORM的多表操作,本文就詳細的介紹一下,感興趣的可以了解一下2021-07-07Python 將 QQ 好友頭像生成祝福語的實現(xiàn)代碼
這篇文章主要介紹了用 Python 將 QQ 好友頭像生成祝福語的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05python獲取外網(wǎng)IP并發(fā)郵件的實現(xiàn)方法
下面小編就為大家?guī)硪黄猵ython獲取外網(wǎng)IP并發(fā)郵件的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10