如何用Python刪除一個文件?


 

刪除文件 path,刪除時候如果path是一個目錄, 拋出 OSError錯誤。

remove() 同 unlink() 的功能是一樣的

os.remove('a.txt')

如果remove文件夾就會報錯

>>> os.remove(r"C:\Users\k\Desktop\aaa")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
PermissionError: [WinError 5] 拒絕訪問。: 'C:\\Users\\k\\Desktop\\aaa'

現在刪除下面這個文件

刪除xx.txt

>>> os.remove(r"C:\Users\k\Desktop\aaa\xx.txt")

 

 

os.removedirs(path),刪除文件夾,但是文件夾必須為空。

遞歸地刪除目錄。類似於rmdir(), 如果子目錄被成功刪除, removedirs() 將會刪除父目錄;但子目錄沒有成功刪除,將拋出錯誤。

例如, os.removedirs(“a/b/c”) 將首先刪除c目錄,然后再刪除b和a, 如果他們是空的話,則子目錄不能成功刪除,將拋出 OSError異常

 

>>> import os
>>> os.removedirs("C:\Users\k\Desktop\aaa")
  File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

>>> os.removedirs(r"C:\Users\k\Desktop\aaa") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\k\Anaconda3\lib\os.py", line 259, in removedirs rmdir(name) OSError: [WinError 145] 目錄不是空的。: 'C:\\Users\\k\\Desktop\\aaa'

刪除aaa文件夾,由於aaa文件夾非空,需要先刪除子目錄bbb,再刪除父目錄aaa

寫法如下

>>> os.removedirs(r"C:\Users\k\Desktop\aaa/bbb")

 



如果要刪除目錄,請使用rmdir()

os.rmdir(path)

刪除目錄 path,要求path必須是個空目錄,否則拋出OSError錯誤

>>> os.rmdir(r"C:\Users\k\Desktop\aaa")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [WinError 145] 目錄不是空的。: 'C:\\Users\\k\\Desktop\\aaa'

 

 

刪除一個非空目錄

例子

>>> import shutil
>>> shutil.rmtree(r"C:\Users\k\Desktop\aaa")
>>>

 


免責聲明!

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



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