python,使用glob 匹配一组pattern比如LVT_25c.csv , LVT_85C.csv , SS_0C.csv , SS_100C.csv
时间: 2024-03-01 11:06:10 浏览: 59
可以使用如下的代码来匹配这组 pattern:
```python
import glob
path = "../netlist/"
patterns = ["LVT_25c.csv", "LVT_85C.csv", "SS_0C.csv", "SS_100C.csv"]
file_list = []
for pattern in patterns:
file_list += glob.glob(path + pattern)
```
这段代码首先指定了要匹配的文件所在的目录路径 `path`,然后定义了一个包含要匹配的文件名 pattern 的列表 `patterns`。接着,它遍历 `patterns` 列表中的每个 pattern,使用 `glob.glob()` 函数来查找在 `path` 目录下匹配该 pattern 的所有文件路径名,并将这些路径名添加到 `file_list` 列表中。最终,`file_list` 列表就包含了所有匹配的文件路径名。
相关问题
python, glob.glob 得到svt_100c.sp lvt_100c.sp svt_0c.sp lvt_0c.sp
如果想要获取所有以 ".sp" 结尾的文件名,可以使用 glob.glob 函数。具体方法如下:
```python
import glob
files = glob.glob("*.sp")
print(files)
```
这样会返回当前目录下所有以 ".sp" 结尾的文件名,包括 "svt_100c.sp"、"lvt_100c.sp"、"svt_0c.sp" 和 "lvt_0c.sp" 等。
python中在路径为path文件中含有123_diff.csv 和123_o_diff.csv等多个以_diff.csv为结尾的csv文件,循环根目录找到有且只含有_diff.csv的csv文件的路径
可以使用Python的os和glob库来实现:
```python
import os
import glob
path = "/your/root/directory"
pattern = "*_diff.csv" # 匹配以_diff.csv结尾的文件
# 遍历根目录及其子目录中所有匹配的文件
file_list = []
for root, dirs, files in os.walk(path):
for file in glob.glob(os.path.join(root, pattern)):
file_list.append(file)
# 过滤出只含有_diff.csv的文件
result = []
for file in file_list:
filename = os.path.basename(file)
if not any([filename.startswith(x) for x in ['123_o', '456', '789']]) and \
filename.count("_diff.csv") == 1:
result.append(file)
print(result)
```
在上述代码中,我们首先使用`os.walk()`函数遍历根目录及其子目录中所有匹配的文件,并将它们存储在`file_list`列表中。然后,我们过滤出只含有_diff.csv的文件,并将它们存储在`result`列表中。其中,`any()`函数用于判断文件名是否以指定的字符串开头,如果是则排除该文件。最后,我们打印出符合条件的文件路径。
阅读全文