Python 如何读取上次修改的包含特定字符串的文件?

Python 如何读取上次修改的包含特定字符串的文件?,python,readfile,Python,Readfile,我想使用python查找上次修改的包含字符串的文件。我的目录中有很多文件,所以比较日期并不吸引人。我正在寻找一种通过修改数据搜索文件的方法,直到找到包含所需字符串的文件。或者,如果有更好的方法来做到这一点,那就太好了 要在当前目录中搜索包含字符串的上次修改的文件,可以使用以下代码: files = os.listdir(".") files.sort(key=os.path.getmtime, reverse=True) for name in files: with open(name

我想使用python查找上次修改的包含字符串的文件。我的目录中有很多文件,所以比较日期并不吸引人。我正在寻找一种通过修改数据搜索文件的方法,直到找到包含所需字符串的文件。或者,如果有更好的方法来做到这一点,那就太好了

要在当前目录中搜索包含字符串的上次修改的文件,可以使用以下代码:

files = os.listdir(".")
files.sort(key=os.path.getmtime, reverse=True)
for name in files:
    with open(name) as f:
        if search_string in f.read():
            print name
            break

这将首先列出所有文件,按修改时间排序,首先是最新的,然后迭代文件列表,查看它们是否包含
search\u string

我不理解您的要求。如果不比较日期,如何查找最新修改的文件?多少是“许多”文件?因此,与其比较日期,不如比较每个文件的内容?听起来效率并没有提高。为什么不在排序(os.listdir('.')、key=os.path.getmtime、reverse=True)中对名称使用
?它仍然可读,短2行。你要做三件事——获取一个文件列表,按mtime降序排序,然后迭代它们。在三个语句中做三件事比在一个语句中做三件事更具可读性。