Glob匹配除某些扩展名之外的文件

2024-04-24 03:11:52 发布

您现在位置:Python中文网/ 问答频道 /正文

python新手!我试图将globmax结合使用,以查找文件夹中最后修改的文件,但不包括扩展名为pdf的一个类型。我试过:

没有排除,我有一个很好的工作:

crshLogs = glob.glob(homePath+crshLogPath+'*.*')
currCrshLog = max(crshLogs , key = os.path.getmtime)

要尝试排除我尝试过的pdf:

crshLogs = glob.glob(homePath+crshLogPath+'!(*.pdf)')

还有

^{pr2}$

但在这两种情况下,下一行代码都会以ValueError: max() arg is an empty sequence失败,因此可能不会返回任何内容。在

如有任何帮助,我们将不胜感激!在


Tags: 文件pathkey类型pdfosmaxglob
2条回答

您可以创建一个数组而不在其中放入PDF:

file_list=[]
for filename in glob.glob(homePath+crshLogPath+'*.*'):
    if ".pdf" not in filename:
        file_list.append(filename)

然后从数组中获取文件名。在

[filename for filename in glob.glob(homePath+crshLogPath+'*.*') if not filename.endswith('pdf')]

我也会改变

记录=环球网(homePath+crshLogPath+'')

^{pr2}$

这将处理糟糕的边缘情况,例如homePath结尾不在/和crshLog path不以/开头,这会造成混乱

相关问题 更多 >