python定期自动删除文件_Python脚本定期删除文件

本文概述

定期手动清理文件系统是不好的。使它们自动化!

可能会想到, 手动删除文件和文件夹并不是一项令人兴奋的任务。使它们自动化是有意义的。

Python来了, 使我们的生活更轻松。 Python是一种出色的脚本编程语言。我们将利用Python毫无障碍地完成我们的任务。首先, 你应该知道为什么Python是一个不错的选择。

Python是用于自动执行任务的最受人喜爱的语言

与其他编程语言相比, 代码更少

Python与所有操作系统兼容。你可以在Windows, Linux和Mac中运行相同的代码。

Python有一个名为os的模块, 可以帮助我们与操作系统进行交互。我们将使用该模块来完成删除文件的自动化操作。

我们可以使用Python替换所有烦人或重复的系统任务。如果你了解Python, 那么编写脚本来完成特定的系统任务就很困难。让我们看一下以下用例。

注意:以下内容已在Python 3.6+上进行了测试

删除X天之前的文件/文件夹

通常, 你不需要旧日志, 并且定期需要清理它们以提供存储空间。它可以是任何东西, 而不仅仅是日志。

os模块中有一个称为stat的方法, 该方法提供了上次访问(st_atime), 修改(st_mtime)和元数据修改(st_ctime)时间的详细信息。自该纪元以来, 所有方法都以秒为单位返回时间。你可以在此处找到有关纪元的更多详细信息。

我们将使用一种称为os.walk(path)的方法遍历文件夹的子文件夹。

请按照以下步骤, 根据天数为删除文件/文件夹编写代码。

导入模块时间, 操作系统, 关机

设置变量的路径和天数

使用time.time()方法将天数转换为秒

使用os.path.exists(path)模块检查路径是否存在

如果该路径存在, 则获取该路径中存在的文件和文件夹的列表, 包括子文件夹。使用方法os.walk(path), 它将返回一个包含文件夹, 文件和子文件夹的生成器

通过使用os.path.join()方法连接当前路径和文件/文件夹名称来获取文件或文件夹的路径

使用属性st_ctime从os.stat(path)方法获取ctime

将ctime与我们之前计算的时间进行比较

如果结果大于所需的用户天数, 请检查它是文件还是文件夹。如果是文件, 请使用os.remove(path), 否则请使用shutil.rmtree()方法

如果路径不存在, 则显示找不到打印消息

让我们详细查看代码。

# importing the required modules

import os

import shutil

import time

# main function

def main():

# initializing the count

deleted_folders_count = 0

deleted_files_count = 0

# specify the path

path = "/PATH_TO_DELETE"

# specify the days

你可能感兴趣的:(python定期自动删除文件)