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

时间:2012-06-03 00:11:35

标签: python

长期读者,第一次海报。我是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)

1 个答案:

答案 0 :(得分: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)