匹配python上的文件名

时间:2015-04-01 05:12:30

标签: python

我有多个文件,其中一些名为'network.log',而其他文件的名称类似于network-wTHz.log。连字符后的最后四个字符不断变化。我可以提供哪些通配符来匹配这两个文件?我正在使用以下if语句:

if current_file == 'network.log' or current_file == 'network-*.log':
     curr_file_path = dir_path + str('/') + str(current_file)

上面的代码工作正常,但它只查找network.log。它找不到任何带有模式network-xxxx.log的文件。

4 个答案:

答案 0 :(得分:1)

if current_file.startswith('network') and current_file.endswith('.log')

答案 1 :(得分:0)

使用正则表达式。

import re  
if re.match("^network(-.*).log$", current_file):
    ....

答案 2 :(得分:0)

使用glob,它专为这些内容而设计:

import glob

for file_with_path in glob.iglob('/path/to/directory/network*.log'):
    print(file_with_path)

答案 3 :(得分:0)

以pythonic方式做。使用glob

import glob
glob.glob('network*.log')

上面的代码返回与模式匹配的文件列表