python刪除指定類型(或非指定)的文件實例詳解
本文實例分析了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ī)則,對文件夾和文件、統(tǒng)一采用深度優(yōu)先搜索的方式,進行列舉
而os.walk的標準例程一般是先遍歷文件,后遍歷文件夾。
學習要點:
os類的函數(shù):
os.getenv()和os.putenv()函數(shù)分別用來讀取和設置環(huán)境變量。
os.system()函數(shù)用來運行shell命令。
os.linesep字符串給出當前平臺使用的行終止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
與路徑相關(guān)的os函數(shù)
os.listdir(dirname):列出dirname下的目錄和文件
os.getcwd():獲得當前工作目錄,即當前Python腳本工作的目錄路徑。
os.curdir:返回當前目錄('.')
os.chdir(dirname):改變工作目錄到dirname
os.path.isdir(name):判斷name是不是一個目錄,name不是目錄就返回false
os.path.isfile(name):判斷name是不是一個文件,不存在name也返回false
os.path.exists(name):判斷是否存在文件或目錄name
os.path.getsize(name):獲得文件大小,如果name是目錄返回0
os.path.abspath(name):獲得絕對路徑
os.path.normpath(path):規(guī)范path字符串形式
os.path.split(name):分割文件名與目錄(事實上,如果你完全使用目錄,它也會將最后一個目錄作為文件名而分離,同時它不會判斷文件或目錄是否存在)
>>> os.path.split('/home/swaroop/byte/code/poem.txt')
('/home/swaroop/byte/code', 'poem.txt')
os.path.splitext():分離文件名與擴展名
os.rename(name1, name2) 重命名文件
如修改文件類型,os.rename(os.path.join(root, name), pathname[0]+".cpp") pathname[0]為文件名,pathname[1]為擴展名
os.path.join(path,name):連接目錄與文件名或目錄
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路徑
os.walk返回三元組形式,相當于三元組列表,遍歷path,返回一個對象,他的每個部分都是一個三元組,('目錄x',[目錄x下的目錄list],目錄x下面的文件)
string類型的數(shù)據(jù),可以使用==, !=等運算符
多參考python幫助文檔,很強大。
希望本文所述對大家的Python程序設計有所幫助。
相關(guān)文章
conda虛擬環(huán)境下使用pyinstaller打包程序為exe文件全過程
pyinstaller是一個支持跨平臺使用的第三方庫,它可以將腳本執(zhí)行所需的模塊和庫,自動分析、收集并生成一個文件夾或者可執(zhí)行文件,這篇文章主要給大家介紹了關(guān)于conda虛擬環(huán)境下使用pyinstaller打包程序為exe文件的相關(guān)資料,需要的朋友可以參考下2023-12-12Python中requests、aiohttp、httpx性能比拼
本文主要介紹了Python中requests、aiohttp、httpx性能比拼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06python flask web服務實現(xiàn)更換默認端口和IP的方法
今天小編就為大家分享一篇python flask web服務實現(xiàn)更換默認端口和IP的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07python中用logging實現(xiàn)日志滾動和過期日志刪除功能
這篇文章主要介紹了python中用logging實現(xiàn)日志滾動和過期日志刪除功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08python pytorch中.view()函數(shù)的用法解讀
這篇文章主要介紹了python pytorch中.view()函數(shù)的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08Python基于爬蟲實現(xiàn)全網(wǎng)搜索并下載音樂
這篇文章主要介紹了Python基于爬蟲實現(xiàn)全網(wǎng)搜索并下載音樂的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-02-02PyQt5實現(xiàn)QLineEdit正則表達式輸入驗證器
這篇文章主要介紹了PyQt5實現(xiàn)QLineEdit正則表達式輸入驗證器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04