请在fnmatch.fnmatch中使用format,[],写一个例子
时间: 2024-03-03 22:47:49 浏览: 167
好的,下面是一个使用`fnmatch.fnmatch()`函数、`format`和`[]`的例子:
```python
import fnmatch
# 使用 format 和 [] 构建模式字符串
pattern_template = "file_[0-9]{{}}.txt"
pattern = pattern_template.format("[0-5]")
# 匹配文件名
filename1 = "file_3.txt"
filename2 = "file_6.txt"
if fnmatch.fnmatch(filename1, pattern):
print(f"{filename1} matches {pattern}")
else:
print(f"{filename1} does not match {pattern}")
if fnmatch.fnmatch(filename2, pattern):
print(f"{filename2} matches {pattern}")
else:
print(f"{filename2} does not match {pattern}")
```
在上面的示例中,我们首先使用`format`方法将模式字符串`file_[0-9]{{}}.txt`中的占位符`{}`替换为`[0-5]`,生成实际的模式字符串`file_[0-9]{[0-5]}.txt`。然后,我们使用`fnmatch.fnmatch()`函数分别检查文件名`file_3.txt`和`file_6.txt`是否匹配该模式字符串。由于`file_3.txt`的文件名中的数字符合模式字符串中的范围`[0-5]`,因此第一个if语句会输出匹配信息;而`file_6.txt`的文件名中的数字不符合模式字符串中的范围,因此第二个if语句会输出不匹配信息。
阅读全文