利用python清除移动硬盘中的临时文件


Posted in Python onOctober 28, 2020

1、目标场景

用过Mac OS的朋友应该都遇到过,日常的文件操作会在同级目录下产生一些特定的临时文件。

平常将文件夹打包成压缩包或拷贝文件夹到移动硬盘内,临时文件会包含在里面,如果是程序源代码,在Windows系统下编译有时候还会受到影响。

本篇文章的目的是在移动硬盘插入到电脑的同时,利用Python自动化和Windows服务删除掉这些临时文件。

2、编写代码

首先,我们需要循环检测PC的驱动器,判断是否存在可移动的磁盘。

# 循环遍历,对每一个驱动器进行判断

while True:

        for item in disk_partitions():

            if 'removable' in item.opts:

                driver, opts = item.device, item.opts

                # 删除临时文件

                pass

                break

            else:

                continue

        # 休眠5s,继续遍历

        sleep(5)

如果检测到存在可移动的磁盘,就遍历文件,删除Mac临时文件。

def remove_all_file(filepath, file_name):

    """

    删除 MAC 临时文件

    :param file_name:

    :return:

    """

    for root, dirs, files in os.walk(filepath):

        for name in files:

            print(name)

            if name.startswith("._") or name == file_name:

                os.remove(os.path.join(root, name))

接着,我们利用pyinstaller将Python文件打包成Exe可执行文件。

# 安装 pyinstaller 

pip3 install pyinstaller 

# 把 py 文件打包成 exe 可执行文件

# 图标:img.ico

pyinstaller -F -i img.ico  del_mac_files.py

为了保证程序一直在后台运行,我们需要创建一个系统服务,让将可执行文件一直在后台执行。

instsrv.exe和srvany.exe这两个文件可以非常方便的创建系统服务。其中,instsrv.exe用于创建、删除服务;srvany.exe用于保障服务能正常启动。

# 注册服务

# instsrv.exe 服务名 

srvany.exec:\instsrv.exe del_mac_tempfile c:\srvany.exe

需要注意的是,运行注册服务命令时,需要以管理员权限运行CMD来执行。

注册完服务之后,还需要通过注册表把服务和可执行程序关联起来。

# 注册表服务的目录

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

在注册表中找到上面创建的服务,新建一个Parameters的项,在项内再创建两个字符串,分别指向可执行文件和可执行文件的完整目录。

利用python清除移动硬盘中的临时文件

最后,services.msc命令打开服务管理,找到目标服务,设置允许服务和桌面交互,设置开启服务并设置为自启。

利用python清除移动硬盘中的临时文件

3、结 果 结 论

通过以上注册的服务,每次插入移动硬盘,都会自动去遍历移动硬盘盘的文件,查找Mac临时文件并删除。

以上就是利用python清除移动硬盘中的临时文件的详细内容,更多关于python 清除文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
整理Python 常用string函数(收藏)
May 30 Python
python实现中文转换url编码的方法
Jun 14 Python
用python爬取租房网站信息的代码
Dec 14 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
Feb 03 Python
pytorch掉坑记录:model.eval的作用说明
Jun 23 Python
python 装饰器的实际作用有哪些
Sep 07 Python
详解Python中如何将数据存储为json格式的文件
Nov 18 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
Jan 07 Python
Python实战之大鱼吃小鱼游戏的实现
Apr 01 Python
python实现一个简单RPC框架的示例
Oct 28 #Python
pycharm永久激活超详细教程
Oct 29 #Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 #Python
浅谈Python __init__.py的作用
Oct 28 #Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
Oct 28 #Python
详解Python流程控制语句
Oct 28 #Python
详解selenium + chromedriver 被反爬的解决方法
Oct 28 #Python
You might like
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
JCalendar 日历控件 v1.0 beta[兼容IE&Firefox] 有文档和例子
2007/05/30 Javascript
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
Python入门_学会创建并调用函数的方法
2017/05/16 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
Python3生成手写体数字方法
2018/01/30 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
Python 切分数组实例解析
2019/11/07 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
基于python3生成标签云代码解析
2020/02/18 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
python识别验证码的思路及解决方案
2020/09/13 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
班风口号
2014/06/18 职场文书
岗位职责范本大全
2015/02/26 职场文书
销售员自我评价
2015/03/11 职场文书
优质服务标语口号
2015/12/26 职场文书
PL350与SW11的比较
2021/04/22 无线电
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers