我正在处理一些Python代码。我想删除new_folder
,包括程序结束时的所有文件。
有人可以指导我如何做到这一点吗?我见过不同的命令,如os.rmdir,但它只删除了路径。这是我的代码:
for files in sorted(os.listdir(path)):
os.system("mv "+path+" new_folder")`
上面的代码会将一个文件夹(称为check)移动到new_folder中。我想从new_folder中删除该check文件夹。
答案 0 :(得分:9)
如果要删除文件
import os
os.remove("path_to_file")
但如果要删除目录,则不能使用上面的代码删除目录,然后使用此
import os
os.rmdir("path_to_dir")
从上面的命令,你可以删除一个目录,如果它是空的,如果它不是空的那么你可以使用shutil模块
import shutil
shutil.rmtree("path_to_dir")
以上所有方法都是Python方式,如果你知道你的操作系统,这个方法依赖于OS,所有上述方法都不依赖
import os
os.system("rm -rf _path_to_dir")
答案 1 :(得分:6)
只需使用shutil.rmtree
即可import shutil
shutil.rmtree(path)
答案 2 :(得分:0)
这是我的方法:
# function that deletes all files and then folder
import glob, os
def del_folder(dir_name):
dir_path = os.getcwd() + "\{}".format(dir_name)
try:
os.rmdir(dir_path) # remove the folder
except:
print("OSError") # couldn't remove the folder because we have files inside it
finally:
# now iterate through files in that folder and delete them one by one and delete the folder at the end
try:
for filepath in os.listdir(dir_path):
os.remove(dir_path + "\{}".format(filepath))
os.rmdir(dir_path)
print("folder is deleted")
except:
print("folder is not there")
答案 3 :(得分:-1)
使用os.system("rm -rf" + whatever_path +" new_folder")