web-dev-qa-db-ja.com

Python特定の拡張子を持つディレクトリで最新のファイルを取得する

'.log'拡張子が付いた 'upload'ディレクトリの最新のファイルをPythonで処理しようとしています。私はUbuntu Webサーバーを使用しており、ファイルのアップロードはHTMLスクリプトによって行われます。アップロードされたファイルはPythonスクリプトによって処理され、結果はMySQLデータベースに書き込まれます。私はコードに this 回答を使用しました。

import glob
newest = max(glob.iglob('upload/*.log'), key=os.path.getctime)
print newest
f = open(newest,'r')

しかし、これはディレクトリ内の最新のファイルを取得するのではなく、最も古いファイルを取得します。どうして?

12

問題は、maxの論理反転がminであることです。

newest = max(glob.iglob('upload/*.log'), key=os.path.getctime)

あなたの目的のために:

 newest = min(glob.iglob('upload/*.log'), key=os.path.getctime)
19
Jon Clements