知行编程网知行编程网  2022-10-30 06:30 知行编程网 隐藏边栏  11 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Linux端文件清理的Python脚本实现的相关知识,希望可以帮到处于编程学习途中的小伙伴

Python 是一种面向对象的解释性计算机编程语言,是一种强大而完整的通用语言。已有十余年的发展历史,成熟稳定。 Python 拥有所有脚本语言中最丰富、最强大的类库,足以支持大多数日常应用程序。它具有简单、易学、免费、开源、可移植、可解释、面向对象、可扩展、可嵌入、库丰富等特点。它目前的应用范围也很广,比如系统编程、图像处理、数据库编程等。

Linux端文件清理的Python脚本实现

Python 开发者可以使用文本编辑器(如 Windows 记事本等)或专业的 IDE(集成开发环境)来编写程序代码。 IDE 使开发人员可以轻松地创建、运行和调试 Python 程序。 IDE 可以从 Python 的官方网站(http://www.python.org)下载。目前(2009 年 9 月)最新版本是 Python 3.1.1。本文将介绍 Python 2.6.2 作为开发平台。

关于Python程序的运行,其实一个Python程序就相当于一个应用程序。不需要编译,只需要在用户电脑上安装Python环境即可。要运行 py 程序,只需双击 py 文件即可。一般情况下,在不提示用户输入或控制屏幕显示的情况下,当打开一个py文件时,会突然闪现并立即退出,因为程序运行已经完成。如果需要显示,添加屏幕暂停代码:

os.system('pause')

在使用这个代码前,需要引用os模块:

import os

下面开始介绍删除文件的Python程序设计:

很多软件在运行时会自动创建一些备份文件,程序退出后不会自动删除备份文件。随着文件数量的增加,它们必须每隔一段时间清理一次。如果文件数量比较多,手动清理显然比较麻烦。所以可以编写一个 Python 脚本来完成这个任务。以下代码:

代码如下:

# -*- coding: cp936 -*- 
#file:E01.py 
import os 
#该函数用于删除文件 
def scan(arg, dirname, names): 
for file in names: 
if file[0]=="~" or file[-4:]==".bak": 
print "删除文件:", file 
file=dirname+"\\"+file 
os.remove(file) 
print "完成!" 
#提示用户输入目录路径 
path=raw_input("请输入要删除文件所在目录:(如D:\\temp)") 
if os.path.exists(path)==False: #检查用户输入的目录是否存在,如果不存在则退出程序 
print "输入的目录不存在!" 
os._exit(1) 
os.path.walk(path, scan, 0) 
os.system('pause')

运行此程序,它将删除用户指定的目录中以波浪号 (~) 开头或以后缀 (.bak) 结尾的文件。运行结果如下图所示:

让我们分析一下这段代码。首先,系统操作都在os模型中,都需要先导入os模型。然后提示用户输入文件目录,检查用户输入的文件目录是否正确。使用 os.path.exists(path) 方法检查目录是否存在。如果返回 True,则表示该目录存在。如果返回False,则表示不存在,退出程序。使用 os._exit(1) 方法退出 Python 程序。 os.path.walk() 方法是访问每个目录和目录中的文件,并在该方法中调用函数scan。函数scan的参数指定为3,其中name代表目录下所有文件的名称,为列表类型。然后,对于每个文件,检查其文件名是否符合要删除的文件名的特征(以波浪号(~)开头或以后缀(.bak)结尾的文件),如果是,则使用 os.remove (文件)方法删除。这里值得注意的是,使用os.remove(file)方法删除文件需要参数file为全路径和文件名,如D:\temp\1.bak。

如果要删除tmp临时文件,只需将上面代码中的“file[-4:]==".bak"”改为“file[-4:]==".tmp"”即可。最后一句(os.system('pause'))表示屏幕暂停。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享