python中删除文件,python删除指定文件夹下的文件
一、三种删除方法python主要利用os模块和shutil模块来删除文件和文件夹。对于文件夹和文件的删除,有几种情况,它们被直接编码:
删除所有与文件相关的操作,基本全部覆盖。
如果真的对你有帮助,奖励右边一分鼓励一下。做爱。
导入技能
导入操作系统
从pathlib导入路径
#第一种:删除文件夹,不管里面有没有文件或者文件夹。
#(不支持文件,如果文件夹不存在,将会报告错误)
def del_files0(目录路径):
shutil.rmtree(目录路径)
#第二种方法递归删除dir_path目标文件夹下的所有文件和所有级别子文件夹下的文件,保留所有级别的空文件夹。
#(支持文件,如果文件夹不存在,不要报告错误)
定义文件(目录路径):
如果os.path.isfile(目录路径):
尝试:
Os.remove(dir_path) #这可以删除单个文件,而不是文件夹
除了BaseException作为e:
打印(e)
elif os.path.isdir(dir_path):
file_lis=os.listdir(目录路径)
对于文件列表中的文件名:
# if file_name!=wibot.log :
tf=os.path.join(目录路径,文件名)
删除文件(tf)
打印(“确定”)
#第三:删除dir_path目的文件夹下的所有内容,保留dir_path文件夹。
#(不支持文件,如果文件夹不存在,将会报告错误)
def del_files2(目录路径):
# os.walk会得到dir_path中所有后代文件夹和文件的三元列表,从里到外依次排列,
#如果log下有111个文件夹,111下有222个文件夹:[(D: \ \ log \ \ 111 \ \ 222 ,[],[22.py]),( D: \ \ log \ \ 111 ,[
对于os.walk中的根目录、目录、文件(目录路径,topdown=False):
Print(root) #所有级别文件夹的绝对路径
Print(dirs) #根目录下的文件夹名称,如[Folder 1 , Folder 2]
print(files) # root下的文件名列表,例如[file 1 , file 2]
#步骤1:删除文件
对于文件中的名称:
Os.remove (os.path.join (root,name)) #删除文件
#步骤2:删除空文件夹
对于目录中的名称:
Os.rmdir (os.path.join (root,name)) #删除一个空目录
if __name__==__main__ :
dir_path=Path(。/log’)。绝对()
Del_files2(目录路径)II。删除权限错误失败:[WinError 5]删除某些文件夹或文件(如git warehouse)时,将报告错误,并显示权限错误:[WinError 5]访问被拒绝。
2.1给python权限。这是因为没有权限。可以参考解决方案。
2.2将名称从删除改为重命名。感觉修改这个那个给定权限很麻烦,干脆放弃删除操作,换成更改文件夹名称的操作:
随机导入,操作系统
Dir_path=os.getcwd() #当前目录的绝对路径d:\ git _ helper
Print(当前目录的绝对路径:,str(random.random())[-5:])
os.rename(src=./weebot_wxbot ,dst=f ./wee bot _ wxbot { str(random . random())[-5:]} )
转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。