使用python删除一个文件&&删除一个文件夹&&删除一个文件中的某些内容&&删除一个文件夹os.rmdir和shutil.rmtree两个方法的区别

使用python删除一个文件

import os
os.remove(path)
# path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除 os.unlink('F:\新建文本文档.txt') # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。

举例:

import os
path = 'F:/新建文本文档.txt'  # 文件路径
if os.path.exists(path):  # 如果文件存在
    # 删除文件,可使用以下两种方法。
    os.remove(path)  
    #os.unlink(path)
else:
    print('no such file:%s'%my_file)  # 则返回文件不存在

 

使用python删除一个文件夹

import os
os.rmdir(path)
# path是文件夹路径,注意文件夹需要是空的才能被删除
import os
os.removedirs(path)
# 递归地删除目录。如果子目录成功被删除,则将会成功删除父目录,子目录没成功删除,将抛异常。

 

os.rmdir 和 shutil.rmtree 

os.rmdir和shutil.rmtree这两个函数都可以用来删除文件夹,区别是前者只能删除空文件夹,跟我们再shell命令行不带参数使用rm命令一样,而后者可以直接删除整个文件夹,包括里面的所有文件和子目录。

os.rmdir

用这个接口来删除文件夹,有一个思路,用os.walk函数遍历,从最里层开始先删除文件,删空后,再删除文件夹。【即先删除文件在删除文件夹

或者,你本来就要保护有内容的文件夹,就用这个函数。

shutil.rmtree

shutil这个标准模块内含有的接口,主要就是用来方便文件操作的,比如文件的copy,move和delete。

shutil.rmtree函数能够直接删除一个文件夹,不管里面有没有内容!

 

Python清空文本内容的两种方法

方法一:【打开文件后,写入内容为空再关闭

file = open("test.txt", 'w').close()

方法二:【直接清空文件里面的内容

with open("test.txt", 'r+') as file:

  file.truncate(0)

 举例:

import os
os.remove(path)  # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除
os.rmdir(path)  # path是文件夹路径,注意文件夹需要时空的才能被删除
os.unlink('F:\新建文本文档.txt')  # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。

import os path = 'F:/新建文本文档.txt' # 文件路径 if os.path.exists(path): # 如果文件存在 # 删除文件,可使用以下两种方法。 os.remove(path) #os.unlink(path) else: print('no such file:%s'%my_file) # 则返回文件不存在
import os os.removedirs(path) # 递归地删除目录。如果子目录成功被删除,则将会成功删除父目录,子目录没成功删除,将抛异常。
import os for root, dirs, files in os.walk(top, topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name)) windows下python删除文件权限问题 PermissionError: [WinError 5] 拒绝访问。: ‘E:\…\…\tmp’ 报错代码 if os.path.exists(path): os.remove(path) 报错信息 PermissionError: [WinError 5] 拒绝访问。: 'E:\\...\\...\\tmp' 解决办法 import shutil shutil.rmtree(path)

 

posted @ 2021-09-22 21:04  习久性成  阅读(1329)  评论(0编辑  收藏  举报