Python:ValueError:min()arg是一个空序列

Python:ValueError:min()arg是一个空序列,python,Python,我正在尝试在文件夹中查找最近添加的特定类型(.csv)的文件。但是我犯了一个错误 这是我的密码: import glob newest = min(glob.iglob('results/*.csv'), key=os.path.getctime) 下面是我得到的错误: ValueError:min()参数是空序列 是什么导致ValueError以及如何解决它 提前感谢您的目标位置可能没有任何.csv文件。在这种情况下,请尝试以下应返回None my_glob = glob.glob('res

我正在尝试在文件夹中查找最近添加的特定类型(.csv)的文件。但是我犯了一个错误

这是我的密码:

import glob
newest = min(glob.iglob('results/*.csv'), key=os.path.getctime)
下面是我得到的错误:

ValueError:min()参数是空序列

是什么导致ValueError以及如何解决它


提前感谢

您的目标位置可能没有任何
.csv
文件。在这种情况下,请尝试以下应返回
None

my_glob = glob.glob('results/*.csv')
newest = min(my_glob, key=os.path.getctime) if my_glob else None

我相信
glob.iglob(“…”)
不会返回任何结果。可能会检查您是否正在查找正确的位置?1)不要提供空的iterable,2)捕获异常,3)如果合适并使用Python 3.4+,然后为
min
提供
default=
参数……您确定您的路径正确吗?这可能适用于
glob.glob
(返回列表),但
glob.iglob
(返回一个迭代器)将始终是真实的,无论它是否匹配任何文件或您可以编写
min(my_glob,key=…,default=None)
在3.4+中,谢谢Jon。快速复制和粘贴。没有注意到生成器。@Alexander,因为OP使用了
iglob
,这并不能真正回答问题。
iglob
的解决方案是合适的。@A_guest当然回答了问题:目标位置没有
.csv
文件。修复不需要ire
iglob
,尽管通过
列表(glob.iglob(…)
)很容易将发电机排气。