Code Monkey home page Code Monkey logo

delete-non-video-files-in-a-certain-folder's Introduction

免责声明

此脚本会永久删除文件和目录,所以在运行此脚本之前,请确保你有对文件和目录的备份,或者你确定你想要删除它们!

我使用了Python的mimetypes库来识别文件是否为视频文件。mimetypes库可以根据文件扩展名推断文件的MIME类型,这是一种标准的文件类型和格式标识。在这个代码中,mimetypes.guess_type(filepath)[0]会返回文件的MIME类型,然后检查这个MIME类型是否以"video"开始。大多数视频文件类型(如.mp4, .avi, .mkv等)的MIME类型都以"video"开始,所以这个方法通常可以正确地识别视频文件。 但是也要注意,这个方法并不是100%准确,因为有些文件可能会有错误的扩展名,或者一些不常见的视频格式可能不会被正确识别。如果你需要更准确的文件类型识别,可能需要使用更复杂的方法,比如基于文件内容的文件类型识别。

使用情景

当我们从网络上下载某些资源(dddd)时,往往是图片与视频散乱共存在各个文件夹里的。

当我们把这些文件夹直接一股脑上传到网盘上时,大量图片小文件不管是上传还是下载都速度极慢,如果是使用rclone在网盘间搬运速度会慢到令人难以忍受的地步。

而大量图片小文件的筛选难度高、实用性低,相信大家也深有体会。

基于此,我借助GPT的辅助,生成了这一脚本,帮助大家快速、自动、批量删除某文件夹内非视频文件,并且会删除全是非视频文件的文件夹。

作用原理

此脚本首先会找出指定目录及其所有子目录中的所有非视频文件,并将它们的路径保存在一个列表中。然后,它会打印出所有找到的非视频文件的路径。最后,它会询问你是否要删除这些文件。如果你选择删除,它将删除所有列出的文件。

在删除非视频文件后,遍历目录并删除所有空的子目录。os.walk(directory, topdown=False)会从底部开始遍历目录树,这样我们可以先删除子目录,然后再删除父目录。如果目录不为空(即,包含其他文件或子目录),os.rmdir()将抛出一个OSError,我们可以简单地忽略这个错误,继续删除其他目录。

使用方法

下载删除某文件夹内非视频文件.py,将directory = 'E:\OneDrive - todo group\国产精品\阿朱\秀人网'替换为自己的文件夹路径

注意:在Python中,反斜杠(\)是一个特殊字符,被用作转义字符。这意味着它用于引入特殊字符序列。例如,"\n" 是换行符,"\t" 是制表符等。所以,当我们想要在字符串中表示一个实际的反斜杠时,我们需要使用两个反斜杠(\)。第一个反斜杠是转义字符,告诉Python后面的字符应被当作一个普通字符来处理,而不是一个特殊字符。在Windows操作系统中,文件路径的分隔符是反斜杠。所以当我们在Python中表示一个Windows文件路径时,我们需要使用两个反斜杠。

双击 删除某文件夹内非视频文件.py 即可。

delete-non-video-files-in-a-certain-folder's People

Contributors

ypq123456789 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.