[780]python删除一个文件或文件夹
- 2020 年 3 月 28 日
- 筆記
使用python删除一个文件或文件夹,需要使用os模块。
os.remove() 方法
os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。这时需用用os.rmdir()来删除。
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' ]
os.rmdir() 方法
os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。
os.unlink() 方法
os.unlink() 方法用于删除文件,如果文件是一个目录则返回一个错误。 unlink的功能和remove一样是删除一个文件,但是删除一个正在使用的文件会报错。
import os # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除 os.remove(path) # path是文件夹路径,注意文件夹需要时空的才能被删除 os.rmdir(path) # unlink的功能和remove一样是删除一个文件,但是删除一个正在使用的文件会报错。 os.unlink('F:新建文本文档.txt')
例子:
import os path = 'F:/新建文本文档.txt' # 文件路径 if os.path.exists(path): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove(path) #os.unlink(path) else: print('no such file:%s'%my_file) # 则返回文件不存在
os.removedirs() 方法
os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。
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))
另一种方法
import shutil shutil.rmtree()
如果想把一个文件从一个文件夹移动到另一个文件夹,并同时重命名,用shutil也很简单:
shutil.move('原文件夹/原文件名','目标文件夹/目标文件名')