私はpythonを使用して文字列を含む最後に変更されたファイルを探したいと思います。私のディレクトリには多くのファイルがあるので、日付を比較することは魅力的ではありません。私は、私が望む文字列を含むファイルにヒットするまで、変更されたデータでファイルを検索する方法を探しています。または、これを行うためのより良い方法があれば、それは素晴らしいことになります。特定の文字列を含む最後に変更されたファイルを読み取るにはどうすればよいですか?
2
A
答えて
4
文字列search_string
が含まれている現在のディレクトリに最後に変更されたファイルを検索するには、このコードを使用することができます:
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_string
が含まれているかどうかを確認します。
私はあなたの要件を理解していません。日付を比較しない場合は、最新の修正ファイルをどのように見つけるつもりですか? 「多くの」ファイルはいくつありますか? –
日付を比較するのではなく、すべてのファイルの内容を比較したいのですか?それは効率の改善のようには聞こえません。 – JAL