Python文件高級(jí)操作函數(shù)之文件信息獲取與目錄操作
python內(nèi)置文件高級(jí)操作函數(shù)
刪除文件
Python 沒(méi)有內(nèi)置刪除文件的函數(shù),但是在內(nèi)置的 os 模塊中提供了刪除文件的 remove()函數(shù),語(yǔ)法格式如下: os.remove(path) 其中,path 為要?jiǎng)h除的文件路徑,可以使用相對(duì)路徑,也可以使用絕對(duì)路徑。
重命名文件和目錄
os 模塊提供了重命名文件和目錄的函數(shù) rename(),如果指定的路徑是文件,則重命名文件;如果指定的路徑是目錄,則重命名目錄。語(yǔ)法格式如下: os.rename(src,dst ) 其中,src 用于指定重命名的目錄或文件,dst 用于指定重命名后的目錄或文件。
獲取文件基本信息
在計(jì)算機(jī)上創(chuàng)建文件后,該文件本身會(huì)包含一些信息。例如,文件的最后一次訪問(wèn)時(shí)間、最后一次修改時(shí)間以及文件大小等基本信息。通過(guò) os 模塊的 stat()函數(shù)可以獲取到文件的這些基本信息,語(yǔ)法格式如下: os.stat(path) 其中,path 為要獲取文件基本信息的文件路徑,可以是相對(duì)路徑,也可以是絕對(duì)路徑。 函數(shù)的返回值是一個(gè)對(duì)象,該對(duì)象包含如表所示的屬性。通過(guò)訪問(wèn)這些屬性可以獲取文件的基本信息。
刪除目錄
刪除空目錄
可以使用 os 模塊提供的 rmdir()函數(shù)實(shí)現(xiàn)。 通過(guò)rmdir() 函數(shù)刪除目錄時(shí),只有當(dāng)要?jiǎng)h除的目錄為空時(shí)才起作用。語(yǔ)法格式如下: os.rmdir(path) 其中,path為要?jiǎng)h除的目錄,可以使用相對(duì)路徑,也可以使用絕對(duì)路徑,不存在會(huì)報(bào)錯(cuò),先判斷是否存在再刪除
刪除非空目錄
則需要使用 Pthon 內(nèi)置的標(biāo)準(zhǔn)模塊shutil的rmtree()函數(shù)實(shí)現(xiàn)。
import shutil shutil.rmtree("C:\\demo\\test")
遍歷目錄
os 模塊的 wak() 函數(shù)用于實(shí)現(xiàn)遍歷
os.walk(top[,topdown][, onerror][,followlinks])
- top: 用于指定要遍歷內(nèi)容的根目錄。
- topdown: 可選參數(shù),用于指定遍歷的順序,
- 如果值為 True,表示自上而下遍歷 (即先遍歷根目錄);
- 如果值為 False,表示自下而上遍歷 (即先遍歷最后一級(jí)子目錄)。
- 默認(rèn)值為 True。
- onerror: 可選參數(shù),用于指定錯(cuò)誤處理方式,默認(rèn)為忽略,如果不想忽略也可以指定一個(gè)錯(cuò)誤處理函數(shù)。通常情況下采用默認(rèn)。
- followlinks:可選參數(shù),默認(rèn)情況下,不會(huì)向下轉(zhuǎn)換成解析到目錄的符號(hào)鏈接,將該參數(shù)值設(shè)置為 True,用于指定在支持的系統(tǒng)上訪問(wèn)由符號(hào)鏈接指向的目錄。
- 返回值:返回一個(gè)包括3個(gè)元素(dirpath,dimames,filenames)的元組生成器對(duì)象。其中,dirpath表示當(dāng)前遍歷的路徑,是一個(gè)字符串; dimames 表示當(dāng)前路徑下包含的子目錄,是一個(gè)列表;
- filenames表示當(dāng)前路徑下包含的文件,也是一個(gè)列表。
#遍歷當(dāng)前目錄下的文件和目錄 import os for root, dirs, files in os.walk("."): print(dirs) print(files)
到此這篇關(guān)于Python文件高級(jí)操作函數(shù)之文件信息獲取與目錄操作的文章就介紹到這了,更多相關(guān)Python文件信息獲取與目錄操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談java中OO的概念和設(shè)計(jì)原則(必看)
下面小編就為大家?guī)?lái)一篇淺談java中OO的概念和設(shè)計(jì)原則(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過(guò)程
Ecppse 使用了 ESP-IDF 中的 Makefile 支持。這意味著您需要從創(chuàng)建 ESP-IDF 項(xiàng)目開(kāi)始。您可以使用 github 中的 idf-template 項(xiàng)目,接下來(lái)通過(guò)本文給大家介紹Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過(guò)程,感興趣的朋友一起看看吧2021-10-10java輸入多個(gè)數(shù)據(jù)(不確定),排序,并求最大值的方法
今天小編就為大家分享一篇java輸入多個(gè)數(shù)據(jù)(不確定),排序,并求最大值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Springboot整合企業(yè)微信機(jī)器人助手推送消息的實(shí)現(xiàn)
本文主要介紹了Springboot整合企業(yè)微信機(jī)器人助手推送消息的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Java線性結(jié)構(gòu)中棧、隊(duì)列和串的基本概念和特點(diǎn)詳解
前幾天小編給大家介紹了Java線性結(jié)構(gòu)中的鏈表,除了鏈表這種結(jié)構(gòu)之外,實(shí)際上還有棧、隊(duì)列、串等結(jié)構(gòu),那么這些結(jié)構(gòu)又有哪些特點(diǎn)呢,本文就給大家詳細(xì)的介紹一下,感興趣的小伙伴跟著小編一起來(lái)看看吧2023-07-07SpringCloud微服務(wù)開(kāi)發(fā)基于RocketMQ實(shí)現(xiàn)分布式事務(wù)管理詳解
分布式事務(wù)是在微服務(wù)開(kāi)發(fā)中經(jīng)常會(huì)遇到的一個(gè)問(wèn)題,之前的文章中我們已經(jīng)實(shí)現(xiàn)了利用Seata來(lái)實(shí)現(xiàn)強(qiáng)一致性事務(wù),其實(shí)還有一種廣為人知的方案就是利用消息隊(duì)列來(lái)實(shí)現(xiàn)分布式事務(wù),保證數(shù)據(jù)的最終一致性,也就是我們常說(shuō)的柔性事務(wù)2022-09-09