Python - 如果目录包含以... move文件开头的文件

时间:2011-08-11 15:28:34

标签: python if-statement directory move

我需要在Python中创建一个脚本,该脚本将查找目录(仅包含一个文件),如果该文件不是当天,则移动它。作为参考,该文件具有与当天(myfile_030811.xls

相关的后缀

有没有人对此有任何想法?

2 个答案:

答案 0 :(得分:2)

试试这个?这假定当前目录下存在名为“archived”的目录。你可能想调整它以满足你的需求。此外,这假定您目录下的所有文件都具有结构名称_ddmmyy。格式。否则无法正常工作

from stat import *
import os
import time
import shutil
import sys

for file in os.listdir(sys.argv[1]):
  ct = time.localtime()
  datestamp_on_filename = file.split('_')[1].split('.')[0]
  current_date_in_ddmmyy = str(ct.tm_mday) + (('0' + str(ct.tm_mon)) if ct.tm_mon < 10 else str(ct.tm_mon)) + str(ct.tm_year)[2:]
  if datestamp_on_filename != current_date_in_ddmmyy:
    print 'moving ' + file
    shutil.move(sys.argv[1] + "/" + file, 'archived')

答案 1 :(得分:0)

bash怎么样?

用以下方法测试:

for m in `find /some/base/dir -mtime 1`;do echo mv $m /new/directory;done

如果一切正常,请删除mv。

前面的“echo”命令