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