網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
python os.stat()獲取相關(guān)文件的系統(tǒng)狀態(tài)信息
stat 系統(tǒng)調(diào)用時(shí)用來返回相關(guān)文件的系統(tǒng)狀態(tài)信息的。
下面直接以一個(gè)具體示例來進(jìn)行簡(jiǎn)要說明
os.stat() 形參接收一個(gè)包含路徑的文件名,其返回值有10個(gè)
列表如下:
返回屬性 | 解釋 |
---|---|
st_mode | inode 保護(hù)模式 |
st_ino | inode 節(jié)點(diǎn)號(hào) |
st_dev | inode 駐留的設(shè)備 |
st_nlink | inode 的鏈接數(shù) |
st_uid | 所有者的用戶ID |
st_gid | 所有者的組ID |
st_size | 普通文件以字節(jié)為單位的大小 |
st_atime | 最后一次訪問的時(shí)間 |
st_mtime | 最后一次修改的時(shí)間 |
st_ctime | 文件創(chuàng)建時(shí)間 |
如果想要訪問文件的相關(guān)信息,則可直接通過點(diǎn)語(yǔ)法獲取。例如,若要獲取某個(gè)文件的大小,則如下即可:
os.stat('utils.py').st_size
舉一個(gè)實(shí)際項(xiàng)目中的例子
說是要對(duì)某個(gè)路徑下的所有小于 10kb 的文件進(jìn)行計(jì)數(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)
有了這些屬性后,就可對(duì)相關(guān)文件進(jìn)行篩選和特異性處理,十分方便。
這是對(duì) os.stat() 用法的簡(jiǎn)要總結(jié),在實(shí)際開發(fā)過程中,會(huì)不斷遇到新的模塊或者三方庫(kù),筆者會(huì)選擇較為常用或者較為實(shí)用的進(jìn)行記錄分享,當(dāng)然,學(xué)會(huì)查閱官方文檔是最好的選擇。
python os模塊的常用操作
方法 |
說明 |
---|---|
os.path.abspath(path) | 返回絕對(duì)路徑 |
os.path.basename(path) | 返回文件名 |
os.path.commonprefix(list) | 返回list(多個(gè)路徑)中,所有path共有的最長(zhǎng)的路徑 |
os.path.dirname(path) | 返回文件路徑 |
os.path.exists(path) | 如果路徑 path 存在,返回 True;如果路徑 path 不存在,返回 False。 |
os.path.lexists | 路徑存在則返回True,路徑損壞也返回True |
os.path.expanduser(path) | 把path中包含的"~"和"~user"轉(zhuǎn)換成用戶目錄 |
os.path.expandvars(path) | 根據(jù)環(huán)境變量的值替換path中包含的"$name"和"${name}" |
os.path.getatime(path) | 返回最近訪問時(shí)間(浮點(diǎn)型秒數(shù)) |
os.path.getmtime(path) | 返回最近文件修改時(shí)間 |
os.path.getctime(path) | 返回文件 path 創(chuàng)建時(shí)間 |
os.path.getsize(path) | 返回文件大小,如果文件不存在就返回錯(cuò)誤 |
os.path.isabs(path) | 判斷是否為絕對(duì)路徑 |
os.path.isfile(path) | 判斷路徑是否為文件 |
os.path.isdir(path) | 判斷路徑是否為目錄 |
os.path.islink(path) | 判斷路徑是否為鏈接 |
os.path.ismount(path) | 判斷路徑是否為掛載點(diǎn) |
os.path.join(path1[, path2[, ...]]) | 把目錄和文件名合成一個(gè)路徑 |
os.path.normcase(path) | 轉(zhuǎn)換path的大小寫和斜杠 |
os.path.normpath(path) | 規(guī)范path字符串形式 |
os.path.realpath(path) | 返回path的真實(shí)路徑 |
os.path.relpath(path[, start]) | 從start開始計(jì)算相對(duì)路徑 |
os.path.samefile(path1, path2) | 判斷目錄或文件是否相同 |
os.path.sameopenfile(fp1, fp2) | 判斷fp1和fp2是否指向同一文件 |
os.path.samestat(stat1, stat2) | 判斷stat tuple stat1和stat2是否指向同一個(gè)文件 |
os.path.split(path) | 把路徑分割成 dirname 和 basename,返回一個(gè)元組 |
os.path.splitdrive(path) | 一般用在 windows 下,返回驅(qū)動(dòng)器名和路徑組成的元組 |
os.path.splitext(path) | 分割路徑,返回路徑名和文件擴(kuò)展名的元組 |
os.path.splitunc(path) | 把路徑分割為加載點(diǎn)與文件 |
os.path.walk(path, visit, arg) | 遍歷path,進(jìn)入每個(gè)目錄都調(diào)用visit函數(shù),visit函數(shù)必須有3個(gè)參數(shù)(arg, dirname, names),dirname表示當(dāng)前目錄的目錄名,names代表當(dāng)前目錄下的所有文件名,args則為walk的第三個(gè)參數(shù) |
os.path.supports_unicode_filenames | 設(shè)置是否支持unicode路徑名 |
原文鏈接:https://huangfei.blog.csdn.net/article/details/81008085
相關(guān)推薦
- 2022-04-11 Python寫一個(gè)簡(jiǎn)單的在線編輯器_python
- 2022-05-02 Redis可視化連接服務(wù)器的方法_Redis
- 2022-01-14 2022年了--你還不會(huì)手寫promise? 完成promise的所有實(shí)現(xiàn)
- 2022-07-26 Springboot 解決跨域問題
- 2022-08-12 C++鏈表實(shí)現(xiàn)通訊錄設(shè)計(jì)_C 語(yǔ)言
- 2022-10-30 移動(dòng)web開發(fā)技能之touch事件詳解_IOS
- 2022-11-23 使用Xshell建立連接并操縱服務(wù)器的方法_Linux
- 2023-02-15 Objective-C關(guān)鍵字@property使用原理探究_IOS
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支