Python - 对目录中的文件进行排序,并在代码中使用最新文件

jca*_*rel 2 python

长时间读者,第一次海报.我是python的新手,我会尝试正确地提出我的问题.

我已经发布了一个我正在使用的.py代码片段.我试图在当前目录中获取要列出的最新修改文件,然后在代码中稍后传递它.

当我尝试运行该文件时,这是我在日志文件中收到的错误:

WindowsError: [Error 2] The system cannot find the file specified: '05-30-2012_1500.wav'
Run Code Online (Sandbox Code Playgroud)

所以它似乎实际上是从目录中提取文件,但这就是它.实际上,它提取的文件不是该目录中最近修改过的文件.

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

cause = channel.FilePlayer.play(latest_page)
Run Code Online (Sandbox Code Playgroud)

Ned*_*der 8

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)
Run Code Online (Sandbox Code Playgroud)