2

長年の読者、初めてのポスター。私はPythonに非常に慣れていないので、適切に質問しようとします。

以下に使用している .py コードのスニペットを投稿しました。現在のディレクトリにある最新の変更されたファイルを取得して、後でコードに渡そうとしています。

これは、ファイルを実行しようとしたときにログ ファイルに表示されるエラーです。

WindowsError: [Error 2] The system cannot find the file specified: '05-30-2012_1500.wav'

したがって、実際にはディレクトリからファイルをプルしているように見えますが、それだけです。そして実際には、プルアップするファイルは、そのディレクトリで最後に変更されたファイルではありません。

latest_page = max(os.listdir("/"), key=os.path.getmtime)

cause = channel.FilePlayer.play(latest_page)
4

1 に答える 1

9

os.listdirそれらのファイルへのフルパスではなく、ファイルの名前を返します。通常、 を使用する場合は、ファイルの操作に使用できるパスを取得するos.listdir(SOME_DIR)必要があります。os.path.join(SOME_DIR, fname)

これはあなたのために働くかもしれません:

files = [os.path.join("/", fname) for fname in os.listdir("/")]
latest = max(files, key=os.path.getmtime)
cause = channel.FilePlayer.play(latest)
于 2012-06-03T00:13:39.013 に答える