【发布时间】:2018-05-24 08:17:41
【问题描述】:
我已经为此搜索了答案,但答案仍然给了我an error message,我不被允许在那里提问,因为我必须提出一个新问题。就这样吧……
我需要我的 python 脚本来使用文件夹中的最新文件。
我尝试了几件事,目前这段代码如下所示:
list_of_files = glob.glob('/my/path/*.csv')
latest_file = max(list_of_files, key=os.path.getmtime)
但代码失败并带有以下注释:
ValueError: max()arg 是一个空序列
有人知道为什么吗?
【问题讨论】:
-
错误告诉您
list_of_files为空,您可能需要先提供完整路径或更改工作目录 -
您使用的是哪个 Python 版本?哪个操作系统? Python 3 中的
max(和min)有一种处理空列表的方法。但是在将list_of_files传递给max之前确保list_of_files不为空会更干净。 -
谢谢,单独解释错误信息很有帮助。它给了我一个线索来解决问题。我正在使用python 3.6。文件列表不应该为空,并且路径是正确的,据我所知,我必须去弄清楚为什么它返回一个空的文件列表。谢谢!
-
在执行
max之前打印出该变量,看看它是否符合您的预期 -
@AntonvBR 不,这会尝试从每个时间戳的
max中创建一个密钥,这没有多大意义,如果您尝试,max会引发TypeError获得一个数字的最大值而不是一个可迭代的。
标签: python