在目录中更新所有文件

时间:2018-10-01 09:27:26

标签: python-2.7

我需要一些帮助。

我正在寻找使用python 2.7来查看目录中的所有文件是否具有相同的修改日期。

我将把它添加到if语句中,所以我只在寻找True&False值。因此,如果所有文件都已修改,则为true,否则为false。

任何帮助都会很棒。

更新:- 下面的方法有效,但这是最有效的方法吗?

import os,time

def get_information(directory):
    file_list = []
    for i in os.listdir(directory):
        a = os.stat(os.path.join(directory,i))
        file_list.append(str(time.ctime(a.st_atime))[:3])
    return file_list

def checkEqual2(iterator):
   return len(set(iterator)) <= 1

print get_information("C:\\Auto_Import\\")
print checkEqual2 (get_information("C:\\Auto_Import\\"))

1 个答案:

答案 0 :(得分:0)

您可以使用os.scandir来提高效率,因为它可以在一次调用中提取给定目录中所有文件的信息:

from os import scandir
def has_same_mtime(path):
    return len(set(entry.stat().st_mtime for entry in scandir(path))) == 1

如果您使用的是Python 3.4或更早版本,则必须退回到os.listdir

import os
def has_same_mtime(path):
    return len(set(os.stat(os.path.join(path, name)).st_mtime for name in os.listdir(path))) == 1