利用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的Django框架中包装视图函数
Jul 20 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
python万年历实现代码 含运行结果
May 20 Python
对python产生随机的二维数组实例详解
Dec 13 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
解决python3 安装不了PIL的问题
Aug 16 Python
python带参数打包exe及调用方式
Dec 21 Python
django 实现手动存储文件到model的FileField
Mar 30 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
keras得到每层的系数方式
Jun 15 Python
详解Scrapy Redis入门实战
Nov 18 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
php 三维饼图的实现代码
2008/09/28 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
PHP7 windows支持
2021/03/09 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
Bootstrap每天必学之级联下拉菜单
2016/03/27 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
2017/01/22 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
[02:26]2016国际邀请赛8月3日开战 中国军团出征西雅图
2016/08/02 DOTA
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
Python实现读取json文件到excel表
2017/11/18 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
Python按钮的响应事件详解
2019/03/04 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
员工安全承诺书
2014/05/22 职场文书
建筑结构施工求职信
2014/07/11 职场文书
整改落实自查报告
2014/11/05 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
2015年保安个人工作总结
2015/04/02 职场文书
教师节领导致辞
2015/07/29 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
i7 6700处理器相当于i5几代
2022/04/19 数码科技