Converting a system command to python for file search and delete(将系统命令转换为 python 以进行文件搜索和删除)
问题描述
我有一个 cron 作业,它使用以下命令根据文件的年龄删除文件:
I have a cron job that deletes files based on their age using the command:
find /path/to/file/ -type f -mmin +120|xargs -I file rm 'file'
但是我想将该命令集成到一个 python 脚本中,该脚本涉及该任务以及其他也在 cron 上运行的东西.
However I'd like to integrate the command into a python script which involves the task as well as other things that also run on cron.
我知道我可以将命令按原样插入 Python 脚本中,它可能会运行 find,但是我很想知道有一种更以 Python 为中心的方式来完成此任务,以及这可能带来哪些其他好处?
I understand I could just plonk the command as it is into the Python script and it would probably run find, however I'm interested to know there a more Python-centric way to accomplish this and what other benefits might that bring?
推荐答案
我的方法是:
import os
import time
def checkfile(filename):
filestats = os.stat(filename) # Gets infromation on file.
if time.time() - filestats.st_mtime > 120: # Compares if file modification date is more than 120 less than the current time.
os.remove(filename) # Removes file if it needs to be removed.
path = '/path/to/folder'
dirList = os.listdir(path) # Lists specified directory.
for filename in dirList:
checkfile(os.path.join(path, filename)) # Runs checkfile function.
我测试了它,它没有工作,所以我修复了代码,我可以确认它工作.
I tested it, it didn't work, so i fixed the code and i can confirm it works.
这篇关于将系统命令转换为 python 以进行文件搜索和删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将系统命令转换为 python 以进行文件搜索和删除
基础教程推荐
- Discord.py 缺少必需的参数 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
