gpt4 book ai didi

python - glob() 排除子目录

转载 作者:太空宇宙 更新时间:2023-11-04 10:24:20 24 4
gpt4 key购买 nike

所以我正在编写一个脚本,该脚本将遍历一堆日志文件以查找字符串和服务器名称。

在我的测试中,我使用 glob() 来创建一个文件列表来浏览。

但是,为了改进我的测试,我从实时系统(11gb!)复制了一个日志目录 - 事情并不像以前那么顺利......看起来 glob 将子目录视为文件,并且因此 readlines() 正在努力阅读它们。

我不关心子目录中的文件,我只想扫描 native 目录中的文件。

我想我可以使用 os.walk() 来实现这一点,比如:

logs = next(os.walk('var/opt/server/log/current'))[2]

相对于:

logs = glob('/var/opt/server/log/current/*')

因为我正在学习 Python,所以我想确保我以正确的方式学习东西。所以我上面所说的是否正确?或者我应该以稍微不同的方式使用 glob() 来实现这个目标吗?

最佳答案

使用 glob 并过滤掉所有目录:

logs = [log for log in glob('/var/opt/server/log/current/*') if not os.path.isdir(log)]

关于python - glob() 排除子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42327564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com