«

python如何删除文件夹中具有相同后缀类型文件

时间:2024-7-23 09:42     作者:韩俊     分类: Python


今天小编给大家分享一下python如何删除文件夹中具有相同后缀类型文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

使用背景

逛社区发现许多人在解决删除文件夹中非图片文件,删除文件夹中图片等问题的时候,都写了很多代码取实现这一功能,我当时就纳闷了,能几行代码解决的事,为什么要写那么多的代码?

解决下述问题

解决的问题是:删除文件夹中具有相同后缀类型文件。如删除文件夹下所有的JPG文件或者PNG文件

核心函数

str.endswith(suffix[, start[, end]])

函数用法: endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。

    suffix – 该参数可以是一个字符串或者是一个元素。

    start – 字符串中的开始位置。

    end – 字符中结束位置。

注:返回值为bool类型

实战演练

现在文件夹中有TXT文件(后缀为.txt),CSV文件(后缀为.csv)和PNG文件(后缀为.png),需要删除PNG文件,只保留TXT和CSV文件。代码如下所示:

import os
file=os.listdir(r'C:UsersFGDesktop est')
for i in file:
    if i.endswith('.png'):
        os.remove(r'C:UsersFGDesktop   est/'+i)#i保存的只是文件夹中的一个相对路径,绝对路径还需要加上文件夹的路径+‘/'

最后展示结果,第一张图为删除前的图片,第二张图为删除后的效果图:

注:当文件夹中需要删除的文件很多很多的时候,这几行简单的代码有奇效!

附:以下代码是删除指定目录下的jpg图片

# 删除文件夹下面的图片

#先导入所需的包
import os
#指定路径
path = '/content/drive/My Drive'
filenames = os.listdir(path)
for filename in filenames:
    print(filename)
    #判断是否是文件而非文件夹
    if(os.path.isfile(filename)):
#         print('it is a file')
        #判断文件后缀名是否是‘.jpg'
        if(os.path.splitext(filename)[1] == '.jpg'):
         #执行删除
            os.remove(filename)

标签: python

热门推荐