您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關python實現刪除文件、清空目錄的方法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Python os.remove() 方法
os.remove() 方法用于刪除指定路徑的文件。如果指定的路徑是一個目錄,將拋出OSError。
在Unix, Windows中有效
以下實例演示了 remove() 方法的使用:
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目錄 print "目錄為: %s" %os.listdir(os.getcwd()) # 移除 os.remove("aa.txt") # 移除后列出目錄 print "移除后 : %s" %os.listdir(os.getcwd())
執行以上程序輸出結果為:
目錄為:
[ 'a1.txt','aa.txt','resume.doc' ]
移除后 :
[ 'a1.txt','resume.doc' ]
Python os.removedirs() 方法
os.removedirs() 方法用于遞歸刪除目錄。像rmdir(), 如果子文件夾成功刪除, removedirs()才嘗試它們的父文件夾,直到拋出一個error(它基本上被忽略,因為它一般意味著你文件夾不為空)。
以下實例演示了 removedirs() 方法的使用:
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目錄 print "目錄為: %s" %os.listdir(os.getcwd()) # 移除 os.removedirs("/test") # 列出移除后的目錄 print "移除后目錄為:" %os.listdir(os.getcwd())
執行以上程序輸出結果為:
目錄為:
[ 'a1.txt','resume.doc','a3.py','test' ]
移除后目錄為:
[ 'a1.txt','resume.doc','a3.py' ]
Python os.rmdir() 方法
os.rmdir() 方法用于刪除指定路徑的目錄。僅當這文件夾是空的才可以, 否則, 拋出OSError。
以下實例演示了 rmdir() 方法的使用:
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目錄 print "目錄為: %s"%os.listdir(os.getcwd()) # 刪除路徑 os.rmdir("mydir") # 列出重命名后的目錄 print "目錄為: %s" %os.listdir(os.getcwd())
執行以上程序輸出結果為:
目錄為:
[ 'a1.txt','resume.doc','a3.py','mydir' ]
目錄為:
[ 'a1.txt','resume.doc','a3.py' ]
Python os.unlink() 方法
os.unlink() 方法用于刪除文件,如果文件是一個目錄則返回一個錯誤。
以下實例演示了 unlink() 方法的使用:
#!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 列出目錄 print "目錄為: %s" %os.listdir(os.getcwd()) os.unlink("aa.txt") # 刪除后的目錄 print "刪除后的目錄為 : %s" %os.listdir(os.getcwd())
執行以上程序輸出結果為:
目錄為:
[ 'a1.txt','aa.txt','resume.doc']
刪除后的目錄為 :
[ 'a1.txt','resume.doc' ]
其他的總結
1、remove() 同 unlink() 的功能是一樣的
在Windows系統中,刪除一個正在使用的文件,將拋出異常。在Unix中,目錄表中的記錄被刪除,但文件的存儲還在。
#使用os.unlink()和os.remove()來刪除文件 #!/user/local/bin/python2.7 # -*- coding:utf-8 -*- import os my_file = 'D:/text.txt' if os.path.exists(my_file): #刪除文件,可使用以下兩種方法。 os.remove(my_file) #os.unlink(my_file) else: print 'no such file:%s'%my_file
2、遞歸刪除目錄和文件的方法(類似DOS命令DeleteTree):
代碼如下:
import os for root, dirs, files in os.walk(top, topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name))
3、Python清空指定文件夾下所有文件的方法:
這個需求很簡單:需要在執行某些代碼前清空指定的文件夾,如果直接用os.remove(),可能出現因文件夾中文件被占用而無法刪除,解決方法也很簡單,先強制刪除文件夾,再重新建同名文件夾即可:
import shutil shutil.rmtree('要清空的文件夾名') os.mkdir('要清空的文件夾名')
注:可參考這里對shutil模塊的介紹:https://www.jb51.net/article/110329.htm
如果想把一個文件從一個文件夾移動到另一個文件夾,并同時重命名,用shutil也很簡單:
shutil.move('原文件夾/原文件名','目標文件夾/目標文件名')
4、python 刪除非空文件夾
一般刪除文件時使用os庫,然后利用os.remove(path)即可完成刪除,如果刪除空文件夾則可使用os.removedirs(path)即可,
但是如果需要刪除整個文件夾,且文件夾非空時使用os.removedirs(path)就會報錯了,此時可以使用shutil庫,該庫為python內置庫,是一個對文件及文件夾高級操作的庫,可以與os庫互補完成一些操作,如文件夾的整體復制,移動文件夾,對文件重命名等。
import os import shutil os.remove(path) #刪除文件 os.removedirs(path) #刪除空文件夾 shutil.rmtree(path) #遞歸刪除文件夾
以上就是python實現刪除文件、清空目錄的方法,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。