Python脚本必须从最近修改过的目录中进行备份,但无法读取mtime

时间:2016-01-28 09:50:35

标签: python filemtime

我编写了下面的脚本,它检查指定的路径PARENT_DIR并找到最近修改过的目录(+子目录)然后将它们备份到MOVE_DIR

我遇到的问题是,似乎这个脚本在某种程度上不会检查目录的mtime并将父目录中的整个内容复制到目标地址。我在这做错了什么?

import os
import os.path
import datetime
from shutil import copytree
from shutil import move
from time import time
os.chdir("/home/sina/Desktop/incoming")

def mins_since_mod(fname):
    """Return time from last modification in minutes"""
    return (time() - os.path.getmtime(fname)) / 60
PARENT_DIR = '/home/sina/Desktop/incoming'
MOVE_DIR = '/home/sina/Desktop/incoming_New'

# Loop over files in PARENT_DIR
for fname in os.listdir(PARENT_DIR):
    # If the file is a directory and was modified in last 10 days
        if ((os.path.isdir(fname)) and (mins_since_mod(fname) < 14400)):
           copytree(fname, MOVE_DIR) # move it to a new location

如果我想让问题更清楚,你可以考虑下面的路径与下面的子目录:

 /home/sina/Desktop/incoming/A/A1.1
 /home/sina/Desktop/incoming/A/A2.2
 ...

../A中的子目录(例如A2.2A1.1)正在被其他应用修改(此应用可能会添加新的子目录)并且我想要回来在此路径上每10天更新一次/home/sina/Desktop/incoming_New/A/{subdirectories}

感谢任何形式的帮助。

0 个答案:

没有答案