![](/img/trans.png)
[英]How to iterate through files using pathlib.glob() when files share very similar names
[英]How to iterate through files using pathlib.glob() when files names have digits of different length
My Directory
如下所示:
P1_SAMPLE.csv
P2_SAMPLE.csv
P3_SAMPLE.csv
P11_SAMPLE.csv
P12_SAMPLE.csv
P13_SAMPLE.csv
我的代码如下所示:
from pathlib import Path
file_path = r'C:\Users\HP\Desktop\My Directory'
for fle in Path(file_path).glob('P*_SAMPLE.csv'):
number = fle.name[1]
print(number)
这给出了 output:
1
2
3
1
1
1
如何使代码 output 成为每个文件的实际完整数字,如下所示:
1
2
3
11
12
13
如果可能,宁愿使用fle.name[]
。 提前谢谢了!
使用正则表达式:
import re
for fle in Path(file_path).glob('P*_SAMPLE.csv'):
m = re.search(r'P(\d+)_SAMPLE.csv', fle.name)
print(m.group(1))
您甚至可以将其简化为:
m = re.search(r'(\d+)', fle.name)
由于数字仅出现在文件名中的一个位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.