利用 os 模块中的函数,可以删除一个文件或一个空文件夹。但利用 shutil 模块,
可以删除一个文件夹及其所有的内容。
• 用 os.unlink(path)将删除 path 处的文件。
• 调用 os.rmdir(path)将删除 path 处的文件夹。该文件夹必须为空,其中没有任何文件和文件夹。
• 调用 shutil.rmtree(path)将删除 path 处的文件夹,它包含的所有文件和文件夹都会被删除。
在程序中使用这些函数时要小心!可以第一次运行程序时,注释掉这些调用,并且加上 print()调用,显示会被删除的文件。这样做是一个好主意。下面有一个 Python 程序,本来打算删除具有.txt
扩展名的文件,但有一处录入错误(用粗体突出显示 ),结果导致它删除了.rxt 文件。
import os
for filename in os.listdir():
if filename.endswith('.rxt'): os.unlink(filename)
如果你有某些重要的文件以.rxt 结尾,它们就会被不小心永久地删除。作为替代,你应该先运行像这样的程序:
import os
for filename in os.listdir():
if filename.endswith('.rxt'): #os.unlink(filename) print(filename)
现在 os.unlink()调用被注释掉,所以 Python 会忽略它。作为替代,你会打印出将被删除的文件名。先运行这个版本的程序,你就会知道,你不小心告诉程序要删除.rxt 文件,而不是.txt
文件。
在确定程序按照你的意图工作后, 删除 print(filename) 代码行, 取消
os.unlink(filename)代码行的注释。然后再次运行该程序,实际删除这些文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)