2012-03-04 49 views
0

我可以打印文件的mtime属性。我只关心在最后xxxx分钟内修改过的文件。我触摸了目录中的文件,所以我知道那里有新文件。如果文件mtime小于x数量。打印这些文件

file_list_attr = sftp.listdir_attr('/path') 
fdir = sftp.listdir(path=source) 

for f in file_list_attr: 
    print "name=%s, modified date=%s, size=%s" % (f.filename, f.st_mtime,f.st_size) 

mt = f.st_mtime 
now=dt.datetime.now() 
while f.st_mtime == now-dt.timedelta(minutes=2120): 
    print 'You have something here' 
else: 
    print 'nada' 

回答

1

这个问题似乎在你如何检查mtime。

不应该在该行:

while f.st_mtime == now-dt.timedelta(minutes=2120): 

如:

while f.st_mtime > now-dt.timedelta(minutes=2120): 

或者更好:

delta = dt.timedelta(minutes=2120) 
while f.st_mtime > dt.datetime.now() - delta: 
    # ... 

因为如果你不重计算你现在最新的我不看不到循环点。

+0

Poggi,我会试试看。感谢您帮助新手 – user1086526 2012-03-04 14:50:36

+0

这个问题似乎是,日期时间现在不能遍历整数。 TypeError:无法将datetime.datetime与int相比较 – user1086526 2012-03-04 23:55:27