繁体   English   中英

glob()排除子目录

[英]glob() to exclude sub-directories

因此,我正在研究一个脚本,该脚本将通过一堆日志文件来查找字符串和服务器名称。

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

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

我不在乎子目录中的文件,我只想浏览本机目录中的文件。

我想我可以使用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)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM