Python的glob模块


=Start=

缘由:

使用glob模块进行文件查找和匹配。

参考解答:

比如我想匹配「20160918 – 20160930」这个区间中的内容,下面这种写法是不生效的:

file_list = glob.glob('/opt/logs/sec.log-201609[18-30]')

因为 glob 模块不支持正则表达式,所以需要使用「遍历」的方式来进行全量匹配,可以使用「字符区间[]」来间接达到此目的:

file_list = glob.glob('/opt/logs/sec.log-2016091[8-9]')
file_list += glob.glob('/opt/logs/sec.log-201609[2-3][0-9]')

上面的内容中需要注意的是——「字符区间[]」这个表示的是「单个字符」,没办法表示「08」、「10」等多个字符的情况,需要使用多次「字符区间[]」才行。

参考链接:

=END=

, ,

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注