【发布时间】:2019-08-15 23:48:07
【问题描述】:
python 新手!我正在尝试将glob 与max 结合使用来查找文件夹中最后修改的文件,但不包括扩展名为pdf 的一种类型。我试过了:
没有排除我有这个工作正常:
crshLogs = glob.glob(homePath+crshLogPath+'*.*')
currCrshLog = max(crshLogs , key = os.path.getmtime)
尝试排除我尝试过的pdf:
crshLogs = glob.glob(homePath+crshLogPath+'!(*.pdf)')
还有
crshLogs = glob.glob(homePath+crshLogPath+'*.*') - glob.glob(homePath+crshLogPath+'*.pdf')
但在这两种情况下,下一行代码都失败并显示ValueError: max() arg is an empty sequence,因此大概没有返回任何内容。
任何帮助将不胜感激!
【问题讨论】:
-
crshLogs = [x for x in glob.glob(homePath+crshLogPath+'*.*') if x not in glob.glob(homePath+crshLogPath+'*.pdf')]怎么样? -
@NihalSangeeth 正在扫描目录两次。更好地使用
fnmatch -
试过@NihalSangeeth。似乎不起作用。还是退回了 PDF?
-
真的吗?您能否提供每个列表和返回的 PDF 的示例?
-
不让我早点编辑!我的错。那里还有旧的代码行。感谢您的帮助