使用python刪除一個文件&&刪除一個文件夾&&刪除一個文件中的某些內容&&刪除一個文件夾os.rmdir和shutil.rmtree兩個方法的區別


使用python刪除一個文件

import os
os.remove(path)
# path是文件的路徑,如果這個路徑是一個文件夾,則會拋出OSError的錯誤,這時需用用rmdir()來刪除 os.unlink('F:\新建文本文檔.txt') # unlink的功能和remove一樣是刪除一個文件,但是刪除一個刪除一個正在使用的文件會報錯。

舉例:

import os
path = 'F:/新建文本文檔.txt'  # 文件路徑
if os.path.exists(path):  # 如果文件存在
    # 刪除文件,可使用以下兩種方法。
    os.remove(path)  
    #os.unlink(path)
else:
    print('no such file:%s'%my_file)  # 則返回文件不存在

 

使用python刪除一個文件夾

import os
os.rmdir(path)
# path是文件夾路徑,注意文件夾需要是空的才能被刪除
import os
os.removedirs(path)
# 遞歸地刪除目錄。如果子目錄成功被刪除,則將會成功刪除父目錄,子目錄沒成功刪除,將拋異常。

 

os.rmdir 和 shutil.rmtree 

os.rmdir和shutil.rmtree這兩個函數都可以用來刪除文件夾,區別是前者只能刪除空文件夾,跟我們再shell命令行不帶參數使用rm命令一樣,而后者可以直接刪除整個文件夾,包括里面的所有文件和子目錄。

os.rmdir

用這個接口來刪除文件夾,有一個思路,用os.walk函數遍歷,從最里層開始先刪除文件,刪空后,再刪除文件夾。【即先刪除文件在刪除文件夾

或者,你本來就要保護有內容的文件夾,就用這個函數。

shutil.rmtree

shutil這個標准模塊內含有的接口,主要就是用來方便文件操作的,比如文件的copy,move和delete。

shutil.rmtree函數能夠直接刪除一個文件夾,不管里面有沒有內容!

 

Python清空文本內容的兩種方法

方法一:【打開文件后,寫入內容為空再關閉

file = open("test.txt", 'w').close()

方法二:【直接清空文件里面的內容

with open("test.txt", 'r+') as file:

  file.truncate(0)

 舉例:

import os
os.remove(path)  # path是文件的路徑,如果這個路徑是一個文件夾,則會拋出OSError的錯誤,這時需用用rmdir()來刪除
os.rmdir(path)  # path是文件夾路徑,注意文件夾需要時空的才能被刪除
os.unlink('F:\新建文本文檔.txt')  # unlink的功能和remove一樣是刪除一個文件,但是刪除一個刪除一個正在使用的文件會報錯。

import os path = 'F:/新建文本文檔.txt' # 文件路徑 if os.path.exists(path): # 如果文件存在 # 刪除文件,可使用以下兩種方法。 os.remove(path) #os.unlink(path) else: print('no such file:%s'%my_file) # 則返回文件不存在
import os os.removedirs(path) # 遞歸地刪除目錄。如果子目錄成功被刪除,則將會成功刪除父目錄,子目錄沒成功刪除,將拋異常。
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)) windows下python刪除文件權限問題 PermissionError: [WinError 5] 拒絕訪問。: ‘E:\…\…\tmp’ 報錯代碼 if os.path.exists(path): os.remove(path) 報錯信息 PermissionError: [WinError 5] 拒絕訪問。: 'E:\\...\\...\\tmp' 解決辦法 import shutil shutil.rmtree(path)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM