我正在尝试在目录中查找文件。
我想要找到的文件有两种可能的命名方式。 它可以是三个大写字母和文件扩展名的组合(例如:“ABC.xlsx”),也可以是3个大写字母的组合,字符串“_diff”和扩展名(例如:“ABC_diff.xlsx”)。
这是我的代码,直到现在:
def find_files(directory): # Function that iterates over files in a directory
for root, dirs, files in os.walk(directory):
for basename in files:
if re.match(r'\b[A-Z]+\b.xlsx', basename):
basename = os.path.splitext(basename)[0]
yield basename
此功能可以找到“ABC.xlsx”类型的文件,但我希望能够找到这两种可能性。
答案 0 :(得分:2)
使用具有以下模式的re.search()
函数:
...
if re.search(r'[A-Z]{3}(_diff)?\.xlsx$', basename):