利用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对列表排序的方法实例分析
May 16 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
Python3的介绍、安装和命令行的认识(推荐)
Oct 20 Python
Python实现的矩阵转置与矩阵相乘运算示例
Mar 26 Python
python opencv 图像拼接的实现方法
Jun 27 Python
TensorFlow实现指数衰减学习率的方法
Feb 05 Python
keras模型保存为tensorflow的二进制模型方式
May 25 Python
Python常用数据分析模块原理解析
Jul 20 Python
python matplotlib库的基本使用
Sep 23 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 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 正则匹配函数体
2009/08/25 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
基于json的jquery地区联动效果代码
2011/07/06 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
详解Vue+elementUI build打包部署后字体图标丢失问题
2020/07/13 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
Django框架视图函数设计示例
2019/07/29 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
销售工作人员的自我评价分享
2013/11/10 职场文书
精彩的大学生自我评价
2013/11/17 职场文书
物业客服专员岗位职责
2013/11/30 职场文书
美德好少年事迹材料
2014/01/19 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
小学体育教学随笔
2015/08/14 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers