Python:将文件从文件夹复制到2天前创建的另一个文件夹

时间:2014-10-13 12:40:10

标签: python file copy compare

我想将两天前创建的文件从一个文件夹复制到另一个文件夹。

这是我的代码:

src = '/home/user'
dst = '/var/tmp/backup_tmp'

two_days = datetime.now() - timedelta(days=2)
filetime = datetime.fromtimestamp(path.getctime(src))

for file in os.listdir(src):
  if file not in os.listdir(dst) and os.path.isfile(file):
    if filetime <= two_days:
       print "File is more than two days old"
    else:
       shutil.copy(os.path.join(src, file), dst)

运行脚本时没有任何错误,但文件没有复制到我的目标文件夹。

你能帮我找一下这个错误吗?

的BR, Spyros

2 个答案:

答案 0 :(得分:1)

如果循环,你在外面计算文件时间。好像这是你的问题。试试:

for f in os.listdir(src):
  filetime = datetime.fromtimestamp(path.getctime(os.path.join(src,f)))
  if f not in os.listdir(dst) and os.path.isfile(f):
    if filetime <= two_days:
       print "File is more than two days old"
    else:
       shutil.copy(os.path.join(src, f), dst)

答案 1 :(得分:0)

问题是声明: “如果f不在os.listdir(dst)和os.path.isfile(f)中:” 当我删除它一切正常。

的BR, 施皮罗斯