利用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 相关文章推荐
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
浅析Python数据处理
May 02 Python
python如何创建TCP服务端和客户端
Aug 26 Python
Python设计模式之桥接模式原理与用法实例分析
Jan 10 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
python之pymysql模块简单应用示例代码
Dec 16 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 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 Mssql操作简单封装支持存储过程
2009/12/11 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
python实现的发邮件功能示例
2019/09/11 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
Ruby如何进行文件操作
2014/07/17 面试题
大二自我鉴定
2014/01/31 职场文书
小学教师听课制度
2014/02/01 职场文书
幼儿园教师教学反思
2014/02/06 职场文书
给老师的检讨书
2014/02/11 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
2015年教师新年寄语
2014/12/08 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
廉洁自律证明
2015/06/24 职场文书
员工考勤管理制度
2015/08/06 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书