转换系统命令到Python,文件查找和删除(Converting a system command

2019-06-27 02:12发布

我有一个基于使用命令他们的年龄是删除文件cron作业:

find /path/to/file/ -type f -mmin +120|xargs -I file rm 'file'

不过,我想命令集成到一个python脚本涉及的任务,以及还对cron运行其他的事情。

我知道我可能只是plonk的命令,因为它是为Python脚本,它可能会运行发现,但是我想知道有没有更是以Python为中心的方式来做到这一点,可能会带来什么其他好处呢?

Answer 1:

我的方法是:

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.

编辑:我测试了它,它没有工作,所以我固定的代码,我可以证实它的工作原理。



Answer 2:

使用os.popen()

>>>os.popen("find /path/to/file/ -type f -mmin +120|xargs -I file rm 'file'")

或者你可以使用subprocess模块:

>>> from subprocess import Popen, PIPE
>>> stdout= Popen(['ls','-l'], shell=False, stdout=PIPE).communicate()
>>> print(stdout)


文章来源: Converting a system command to python for file search and delete
标签: python find