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 回答