利用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 httplib模块使用实例
Apr 11 Python
Python中的元类编程入门指引
Apr 15 Python
Python素数检测的方法
May 11 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 Python
python去除空格和换行符的实现方法(推荐)
Jan 04 Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 Python
Python制作exe文件简单流程
Jan 24 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
python实现趣味图片字符化
Apr 30 Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 Python
python中zip()函数遍历多个列表方法
Feb 18 Python
移除Selenium中window.navigator.webdriver值
Jun 10 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.ini中文版(2)
2006/10/09 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
PHP导入Excel到MySQL的方法
2011/04/23 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
python进阶_浅谈面向对象进阶
2017/08/17 Python
python3去掉string中的标点符号方法
2019/01/22 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
HTML5 微格式和相关的属性名称
2010/02/10 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
最新茶叶店创业计划书
2014/01/14 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
酒店优秀员工事迹材料
2014/06/02 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
民间借贷协议书范本
2014/10/01 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
详解python网络进程
2021/06/15 Python
基于JavaScript实现年月日三级联动
2021/06/22 Javascript