python当中删除文件的几种方法
python当中运用os,shutil来实现对文件和文件夹的删除操作。
方法一:
import os,shutil def del_file0(path): shutil.rmtree(path) del_file0(r"C:\Users\1\Desktop\me")
这种方法,删除一个文件夹,无论里面是否有文件或文件夹;不支持文件,文件夹不存在会报错。
方法二:
import os,shutil
def del_file2(file_path): if os.path.isfile(file_path): try: os.remove(file_path) except BaseException as e: print(e) elif os.path.isdir(file_path): file_li = os.listdir(file_path) for file_name in file_li: tf = os.path.join(file_path,file_name) del_file2(tf) print('ok') del_file2(r"C:\Users\1\Desktop\me")
这种方法,递归删除dir_path目标文件夹下所有文件,以及各级子文件夹下文件,保留各级空文件夹;支持文件,文件夹不存在不报错。
方法三:
import os,shutil
def del_file(file_path): for root,dirs,files in os.walk(file_path,topdown=False): print("root",root) print("dirs",dirs) print("files", files) # firstly : 删除文件 for name in files: os.remove(os.path.join(root,name)) # secondly: 删除空文件夹 for name in dirs: os.rmdir(os.path.join(root,name)) del_file(r"C:\Users\1\Desktop\me")
这种方法,删除file_path目标文件夹下所有内容,保留file_path文件夹;不支持文件,文件夹不存在会报错。
方法四:
import os , shutil if os.path.exists(r'C:\Users\1\Desktop\1.txt'): os.remove(r"C:\Users\1\Desktop\1.txt") print("执行删除") else: print('file不存在')