Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python查找文件夹中的最新文件_Python - Fatal编程技术网

使用python查找文件夹中的最新文件

使用python查找文件夹中的最新文件,python,Python,我已经搜索了这个问题的答案,但是答案仍然给了我一条错误信息,因为我必须提出一个新问题,所以我不能在那里提问。就这样 我需要我的python脚本来使用文件夹中的最新文件 我尝试了几种方法,目前代码如下所示: list_of_files = glob.glob('/my/path/*.csv') latest_file = max(list_of_files, key=os.path.getmtime) 但代码失败,并有以下注释: ValueError:max()arg是一个空序列 有人知道为什么

我已经搜索了这个问题的答案,但是答案仍然给了我一条错误信息,因为我必须提出一个新问题,所以我不能在那里提问。就这样

我需要我的python脚本来使用文件夹中的最新文件

我尝试了几种方法,目前代码如下所示:

list_of_files = glob.glob('/my/path/*.csv')
latest_file = max(list_of_files, key=os.path.getmtime)
但代码失败,并有以下注释:

ValueError:max()
arg是一个空序列


有人知道为什么吗?

如果列表不是空的,应该可以,但似乎是空的。因此,首先通过打印列表或类似的方式检查列表是否为空

我测试了这段代码,效果很好:

import os
import glob

mypath = "C:/Users/<Your username>/Downloads/*.*"

print(min(glob.glob(mypath), key=os.path.getmtime)) 
print(max(glob.glob(mypath), key=os.path.getmtime)) 
导入操作系统
导入glob
mypath=“C:/Users//Downloads/*.*”
打印(最小值(glob.glob(mypath),key=os.path.getmtime))
打印(最大值(glob.glob(mypath),key=os.path.getmtime))

glob.glob
具有不匹配以
开头的文件的限制

因此,如果您想匹配这些文件,您应该这样做-(假设目录中有
.picture.png


此外,在对目录进行操作之前,检查目录中存在的文件数量也是一种理想的方法。

错误告诉您,您的
文件列表是空的,您可能需要提供完整路径或首先更改工作目录您使用的是哪种Python版本?哪个操作系统max
(和
min
)有一种处理空列表的方法。但是在将
list\u文件传递给
max
之前,确保
list\u文件不为空会更干净。谢谢,单独解释错误消息非常有用。它给了我一个解决问题的线索。我正在使用python 3.6。文件列表不应该是空的,而且路径就我所知是正确的,我必须去弄清楚为什么它返回一个空的文件列表。谢谢在执行
max
之前打印出该变量,以查看它是否符合您的预期be@AntonvBR不,这将尝试从每个时间戳的
max
中生成一个键,这没有多大意义,如果您试图获取数字而不是iterable的最大值,则
max
将引发
TypeError
import glob
glob.glob('.p*') #assuming you're already in the directory