如何使用python删除文件夹中的所有文件夹?
是否可以在不使用特定路径的情况下删除文件夹中的所有文件夹?在这里,我移动文件的内容,然后,如果是目录,我想删除如何使用python删除文件夹中的所有文件夹?,python,Python,是否可以在不使用特定路径的情况下删除文件夹中的所有文件夹?在这里,我移动文件的内容,然后,如果是目录,我想删除 import os, zipfile import shutil import os from os import path dir_name = 'C:\\Users\\Guest\\Desktop\\OJT\\samples' destination = 'C:\\Users\\Guest\\Desktop\\OJT\\scanner\\test' for path, subd
import os, zipfile
import shutil
import os
from os import path
dir_name = 'C:\\Users\\Guest\\Desktop\\OJT\\samples'
destination = 'C:\\Users\\Guest\\Desktop\\OJT\\scanner\\test'
for path, subdirs, files in os.walk(destination):
for name in files:
filename = os.path.join(path, name)
shutil.copy2(filename, destination)
是的,使用shutil的
rmtree
方法
import shutil
shutil.rmtree('directory') # the directory you want to remove
os.listdir()
您也可以使用os.rmdir
,但如果其中有任何内容,则无法使用
如果要检查该特定路径是否为目录,则可以使用os.path.isdir
然后运行rmtree
,如果返回TRUE
如果您想保持根文件夹的完整性,则可以遍历该目录,并对每个项目调用rmtree
。如前所述,如果您想删除目录中的所有子目录,只需使用循环遍历每个文件,如果文件是目录,则应用:
上面的代码还用于检查文件是否为目录 如果Vineth的
答案不适合您的情况,您可以使用子流程
模块运行os
特定命令,如下所示
import subprocess
subprocess.call('rm -rf /path/of/the/dirctory/*', shell=True)
上面的命令是特定于linux的,您可以使用上面相同命令的windows对应命令
注意-此处shell=True
将扩展到文件/文件夹中
另外,请注意Vineth的回答是os
独立的,上面的回答是os
特定的小心点
另外,您还可以使用子流程
模块运行powershell
命令。我的意思是,如何删除文件夹中的所有文件夹,因为.rmtree也会删除根文件夹。您可以进入目录,然后循环浏览其内容,并在所有目录上运行rmtree
。
import subprocess
subprocess.call('rm -rf /path/of/the/dirctory/*', shell=True)