本文實(shí)例分析了python刪除指定類型(或非指定)的文件用法。分享給大家供大家參考。具體如下:
如下,刪除目錄下非源碼文件
import os import string def del_files(dir,topdown=True): for root, dirs, files in os.walk(dir, topdown): for name in files: pathname = os.path.splitext(os.path.join(root, name)) if (pathname[1] != ".cpp" and pathname[1] != ".hpp" and pathname[1] != ".h"): os.remove(os.path.join(root, name)) print(os.path.join(root,name)) dir = os.getcwd() print(dir) del_files(dir)#will delete the self .py file after run !!!-_- os.removedirs(dir)#delete the empty directory recursively
以上功能,遍歷文件夾 也可以用函數(shù) os.listdir (dirname) 。只不過其與os.walk(dir, topdown) 的方式還是略有差異。
listdir 是按命名規(guī)則,對(duì)文件夾和文件、統(tǒng)一采用深度優(yōu)先搜索的方式,進(jìn)行列舉
而os.walk的標(biāo)準(zhǔn)例程一般是先遍歷文件,后遍歷文件夾。
學(xué)習(xí)要點(diǎn):
os類的函數(shù):
os.getenv()和os.putenv()函數(shù)分別用來讀取和設(shè)置環(huán)境變量。
os.system()函數(shù)用來運(yùn)行shell命令。
os.linesep字符串給出當(dāng)前平臺(tái)使用的行終止符。例如,Windows使用'/r/n',Linux使用'/n'而Mac使用'/r'。
與路徑相關(guān)的os函數(shù)
os.listdir(dirname):列出dirname下的目錄和文件
os.getcwd():獲得當(dāng)前工作目錄,即當(dāng)前Python腳本工作的目錄路徑。
os.curdir:返回當(dāng)前目錄('.')
os.chdir(dirname):改變工作目錄到dirname
os.path.isdir(name):判斷name是不是一個(gè)目錄,name不是目錄就返回false
os.path.isfile(name):判斷name是不是一個(gè)文件,不存在name也返回false
os.path.exists(name):判斷是否存在文件或目錄name
os.path.getsize(name):獲得文件大小,如果name是目錄返回0
os.path.abspath(name):獲得絕對(duì)路徑
os.path.normpath(path):規(guī)范path字符串形式
os.path.split(name):分割文件名與目錄(事實(shí)上,如果你完全使用目錄,它也會(huì)將最后一個(gè)目錄作為文件名而分離,同時(shí)它不會(huì)判斷文件或目錄是否存在)
>>> os.path.split('/home/swaroop/byte/code/poem.txt')
('/home/swaroop/byte/code', 'poem.txt')
os.path.splitext():分離文件名與擴(kuò)展名
os.rename(name1, name2) 重命名文件
如修改文件類型,os.rename(os.path.join(root, name), pathname[0]+".cpp") pathname[0]為文件名,pathname[1]為擴(kuò)展名
os.path.join(path,name):連接目錄與文件名或目錄
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路徑
os.walk返回三元組形式,相當(dāng)于三元組列表,遍歷path,返回一個(gè)對(duì)象,他的每個(gè)部分都是一個(gè)三元組,('目錄x',[目錄x下的目錄list],目錄x下面的文件)
string類型的數(shù)據(jù),可以使用==, !=等運(yùn)算符
多參考python幫助文檔,很強(qiáng)大。
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選