Python利用os模塊實(shí)現(xiàn)自動刪除磁盤文件
1、引言
小絲:魚哥, 請教你個問題。
小魚:你覺得你得問題,是正兒八經(jīng)的嗎?
小絲:那必須的, 人都正經(jīng),何況問題呢?
小魚:那可不敢說, 你得問題這次是否正經(jīng)我不敢說,但是人, 肯定不正經(jīng)。
小絲:別這么說,魚哥。
小魚:還用我說, 你說說你自己的座駕是啥?
小絲:額… 我也沒總?cè)ハ丛“?/p>
小魚:拉倒吧, 一周7天,你恨不得8天都在泡澡… 我還能說哈
小絲:魚哥, 男人何苦為難男人。
小魚:對了, 你剛剛想問啥問題來著?
小絲:魚哥,那你保證,只討論問題, 不討論洗澡…
小魚:嗯, 好, 我保證不會說 你經(jīng)常在 紅浪漫 洗浴中心的。
小絲:魚哥… 你不講究…
小魚:那你還不趕緊說你想問啥問題?
小絲:我說… 能不能一次全部刪除我的文件夾下的所有文件, 我不想手動刪除.
小魚:你可真懶, 那你直接把文件夾刪除得了 ,再不行,你把磁盤格式化, 啥文件都沒了。
小絲:魚哥,別鬧,正兒八經(jīng)的問題。
小魚:嗯, 這還不簡單,就是它。
2、代碼實(shí)戰(zhàn)
2.1 模塊介紹
關(guān)于 os模塊, 相信大家都比較熟悉,例如:
- os.listdir():直接返回指定路徑下文件和文件夾組成的列表;
- os.walk():獲取每層文件夾下的文件路徑,文件夾列表,文件列表;
- os.path.exists():判斷文件是否存在, True、false;
- os.mkdir():創(chuàng)建一個新的文件夾;
- os.rmdir():刪除文件夾();
但是今天, 我們要分享是系統(tǒng)模塊的操作方法,如下:
- os.getenv():獲取(盤符)信息;
- os.environ:系統(tǒng)盤符;
- os.chdir():更改目錄;
- os.getcwd():獲取當(dāng)前路徑;
2.2 獲取盤符
我們先獲取系統(tǒng)盤的磁盤,很簡單,我直接上代碼:
代碼示例
# -*- coding:utf-8 -*-
# @Time : 2022-11-16
# @Author : Carl_DJ
import os
#獲取系統(tǒng)盤盤符
SystemDri_path = os.getenv('SystemDrive')
print(f'系統(tǒng)盤符為{SystemDri_path}')
運(yùn)行結(jié)果
系統(tǒng)盤符為C:
2.3 獲取盤符下的目錄
我們繼續(xù)來獲取盤符下的文件,
這里,我展示3種方式,如下:
- os.listdir()
- os.environ
- os.getenv()
具體樣例,接著往下看。
2.3.1 os.listdir()
代碼示例
# -*- coding:utf-8 -*-
# @Time : 2022-11-16
# @Author : Carl_DJ
import os
#獲取系統(tǒng)盤符下的文件
SystemDri_file = os.listdir("C:")
print(f'系統(tǒng)盤符下的文件目錄:{SystemDri_file}')
運(yùn)行結(jié)果

由于職業(yè)素養(yǎng),我把系統(tǒng)盤的一些敏感目錄給打馬賽克了。
2.3.2 os.environ
代碼示例
# -*- coding:utf-8 -*-
# @Time : 2022-11-16
# @Author : Carl_DJ
import os
#獲取系統(tǒng)盤符下的文件
SystemDri_file = os.environ
print(f'系統(tǒng)盤符下的文件目錄:{SystemDri_file}')
運(yùn)行結(jié)果

同樣,我截取的是一部分內(nèi)容,
從結(jié)果可以看出,把我電腦的C盤、D盤信息都打印出來了。
2.3.3 os.getenv()
代碼示例
# -*- coding:utf-8 -*-
# @Time : 2022-11-16
# @Author : Carl_DJ
import os
#獲取系統(tǒng)盤盤符
SystemDri_file = os.getenv('SystemDrive')
#修改當(dāng)前目錄
os.chdir(SystemDri_file+'\\')
#把目錄以樹形打印出來并保存在file.txt 文件
os.system('tree>>testfile.txt')
print(f'執(zhí)行完成')
運(yùn)行結(jié)果

在C盤生成testfile.txt 文件

注:
系統(tǒng)盤,需要超管權(quán)限, 否則, 就會提示 如下信息:
拒絕訪問
2.4 刪除文件
2.4.1 刪除指定文件下文件
我們獲取了磁盤的目錄結(jié)構(gòu),
那么,接下來,我們就可以根據(jù)指定的文件路徑,刪除目標(biāo)文件及目標(biāo)文件夾。
這里用到的方法,也就兩種:
- os.remove():刪除文件;
- os.rmdir():刪除目錄;
- os.walk():遍歷文件目錄;
我們來刪某一文件,直接上代碼:
代碼示例
# -*- coding:utf-8 -*-
# @Time : 2022-11-16
# @Author : Carl_DJ
'''
實(shí)現(xiàn)功能:
使用os.walk()方法,遍歷文件目錄,
匹配則使用remove、rmdir 方法 刪除
'''
import os
#設(shè)置文件路徑
file_path = r'C:\Users\Carl_DJ\Desktop\DemoTest'
#遍歷目錄
for root,dirs,files in os.walk(file_path,topdown=False):
#name在文件中循環(huán),如果匹配,則刪除
for _file in files:
#刪除文件
os.remove(os.path.join(root,_file))
#name在文件目錄循環(huán),如果匹配,則刪除
for _dir in dirs:
#刪除目錄
os.rmdir(os.path.join(root,_dir))
print(f'執(zhí)行完成')
刪除前,文件夾下的文件

運(yùn)行結(jié)果

2.4.2 刪除所有文件下文件
如果你要刪除系統(tǒng)下所有的文件,
只需要遍歷即可。
但是,小魚在這里強(qiáng)調(diào):
- 本段代碼,僅供演示操作;
- 執(zhí)行此段代碼需謹(jǐn)慎, 出現(xiàn)任何后果,都與小魚無關(guān);
- 切勿商用,切勿有刪系統(tǒng)跑路的想法;
代碼示例
# -*- coding:utf-8 -*-
# @Time : 2022-11-16
# @Author : Carl_DJ
'''
實(shí)現(xiàn)功能:
刪除指定的磁盤下的所有文件
-->使用os.walk()方法,遍歷文件目錄,
-->匹配則使用remove、rmdir 方法 刪除
'''
import os
#需要刪除的文件路徑
list = ['C:\\\\Users\\\\Carl_DJ\\\\Desktop\\\\DemoTest1\\\\','C:\\\\Users\\\\Carl_DJ\\\\Desktop\\\\DemoTest2\\\\']
#遍歷目錄
for i in list:
for root,dirs,files in os.walk(i,topdown=False):
# name在文件中循環(huán),如果匹配,則刪除
for _file in files:
# 刪除文件
os.remove(os.path.join(root, _file))
# name在文件目錄循環(huán),如果匹配,則刪除
for _dir in dirs:
# 刪除目錄
os.remove(os.path.join(root, _dir))
print(f'執(zhí)行完成')
運(yùn)行結(jié)果與上圖一樣, 就不展示了。
3、總結(jié)
今天, 我分享了os的進(jìn)階用法,如:
- os.environ
- os.walk()
- os.getenv()
- os.rmdir()
- os.remove()
- os.chdir()
學(xué)會這些方法, 讓我們在實(shí)際工作中,會節(jié)省更多時間。
- 如果我們平時刪除文件夾下的文件, 可以直接執(zhí)行這段代碼;
- 如果我們要批量刪除多個文件夾下的文件,也可以直接執(zhí)行這段代碼;
- 如果你要刪除系統(tǒng)的所有文件, 那就不要試了, 畢竟,后果很難以接受, 簡稱 難受。
到此這篇關(guān)于Python利用os模塊實(shí)現(xiàn)自動刪除磁盤文件的文章就介紹到這了,更多相關(guān)Python os模塊刪除磁盤文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pandas.DataFrame寫入數(shù)據(jù)庫的實(shí)現(xiàn)方式
這篇文章主要介紹了pandas.DataFrame寫入數(shù)據(jù)庫的實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Numpy中np.max的用法及np.maximum區(qū)別
這篇文章主要介紹了Numpy中np.max的用法及np.maximum區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Python模塊導(dǎo)入的幾種方法實(shí)現(xiàn)
本文主要介紹了Python模塊導(dǎo)入的幾種方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
python下的opencv畫矩形和文字注釋的實(shí)現(xiàn)方法
今天小編就為大家分享一篇python下的opencv畫矩形和文字注釋的實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
python實(shí)現(xiàn)網(wǎng)站用戶名密碼自動登錄功能
最近接到這樣的需求通過網(wǎng)頁用戶認(rèn)證登錄實(shí)現(xiàn)上網(wǎng),如何實(shí)現(xiàn)網(wǎng)站自動登錄功能呢,接下來小編給大家?guī)砹藀ython實(shí)現(xiàn)網(wǎng)站用戶名密碼自動登錄功能,需要的朋友可以參考下2019-08-08
淺談Python實(shí)現(xiàn)2種文件復(fù)制的方法
這篇文章主要介紹了淺談Python實(shí)現(xiàn)2種文件復(fù)制的方法,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
Python?flask?sqlalchemy的簡單使用及常用操作
這篇文章主要介紹了Python?flask?sqlalchemy的簡單使用及常用操作,在python中,常用的ORM工具就是sqlalchemy了。下面就以一個簡單的flask例子來說明吧,需要的小伙伴可以參考一下2022-08-08

