利用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实现通过shelve修改对象实例
Sep 26 Python
Python 操作文件的基本方法总结
Aug 10 Python
flask中使用蓝图将路由分开写在不同文件实例解析
Jan 19 Python
对python3 urllib包与http包的使用详解
May 10 Python
详解通过API管理或定制开发ECS实例
Sep 30 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
使用Python制作一个打字训练小工具
Oct 01 Python
python自动分箱,计算woe,iv的实例代码
Nov 22 Python
Python 实现数组相减示例
Dec 27 Python
python实现音乐播放器 python实现花框音乐盒子
Feb 25 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 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
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
理解PHP中的stdClass类
2014/04/18 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
10个实用的脚本代码工具
2010/05/04 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
JS实现向表格中动态添加行的方法
2015/03/30 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
vue-router beforeEach跳转路由验证用户登录状态
2018/12/26 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
js如何验证密码强度
2020/03/18 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
Python实现的Kmeans++算法实例
2014/04/26 Python
python数据结构之图的实现方法
2015/07/08 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
利用python画出AUC曲线的实例
2020/02/28 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
HTML5 新表单类型示例代码
2018/03/20 HTML / CSS
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
复核员上岗演讲稿
2014/01/05 职场文书
公司活动邀请函
2014/01/24 职场文书
医德医风演讲稿
2014/05/20 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
办公室卫生管理制度
2015/08/04 职场文书
Python实现PIL图像处理库绘制国际象棋棋盘
2021/07/16 Python
python单向链表实例详解
2022/05/25 Python