利用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中zip()函数用法实例教程
Jul 31 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
Python实现身份证号码解析
Sep 01 Python
Python设计模式之状态模式原理与用法详解
Jan 15 Python
python实现一行输入多个值和一行输出多个值的例子
Jul 16 Python
手把手教你进行Python虚拟环境配置教程
Feb 03 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 Python
详解vscode实现远程linux服务器上Python开发
Nov 10 Python
python中实现词云图的示例
Dec 19 Python
Python实现给PDF添加水印的方法
Jan 25 Python
python 远程执行命令的详细代码
Feb 15 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中stream(流)的用法
2014/03/25 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
jQuery代码优化 选择符篇
2011/11/01 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
Nodejs下DNS缓存问题浅析
2016/11/16 NodeJs
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
vue.js评论发布信息可插入QQ表情功能
2017/08/08 Javascript
vue实现移动端图片裁剪上传功能
2020/08/18 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
Python简单计算文件MD5值的方法示例
2018/04/11 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
实例介绍Python中整型
2019/02/11 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
汽车技术服务英文求职信范文
2014/01/02 职场文书
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
幼儿园秋游感想
2014/03/12 职场文书
中秋手机店促销方案
2014/06/16 职场文书
公务员考察材料
2014/12/23 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
卡特教练观后感
2015/06/08 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书