Python 3.x 从给定目录路径提取文件名的python正则表达式
我有一些这样的文件夹:Python 3.x 从给定目录路径提取文件名的python正则表达式,python-3.x,regex,Python 3.x,Regex,我有一些这样的文件夹: ../dog_breeds/images/Images/n02085620-Chihuahua ../dog_breeds/images/Images/n02085782-Japanese_spaniel ../dog_breeds/images/Images/n02086910-papillon ../dog_breeds/images/Images/n02088466-bloodhound .... .... 我只想使用Python从文件路径中提取这些信息(吉娃娃、
../dog_breeds/images/Images/n02085620-Chihuahua
../dog_breeds/images/Images/n02085782-Japanese_spaniel
../dog_breeds/images/Images/n02086910-papillon
../dog_breeds/images/Images/n02088466-bloodhound
....
....
我只想使用Python从文件路径中提取这些信息(吉娃娃、日本猎犬、帕皮隆、猎犬)。
有人能帮我吗?有两个共同的因素
- 图像文件夹路径相同
- 例如:所有图像都以../dog_breeds/images/images开头/
以删除路径替换('../dog_breeds/images/images/','')
- 所有图像都以10个字符开头
- 例如:n02085620-,n02085782-
以删除字符替换('../dog_breeds/images/images/','')[10:
res=['../dog_breeds/images/images/n02085620 Chihuahua',
“../dog_breeds/images/images/n02085782-日本猎犬”,
“../dog_breeds/images/images/n02086910 papillon”,
“../dog_breeds/images/images/n02088466猎犬”]
第1部分=[r.replace('../dog_breeds/images/images/','')[10:]表示r的分辨率]
印刷(第一部分)
输出为:
['Chihuahua', 'Japanese_spaniel', 'papillon', 'bloodhound']
您可以在此处使用
str.split
Ex:
s = """../dog_breeds/images/Images/n02085620-Chihuahua
../dog_breeds/images/Images/n02085782-Japanese_spaniel
../dog_breeds/images/Images/n02086910-papillon
../dog_breeds/images/Images/n02088466-bloodhound
"""
for p in s.splitlines():
print(p.split("-")[-1])
Chihuahua
Japanese_spaniel
papillon
bloodhound
如果你需要正则表达式
import re
for p in s.splitlines():
print(re.search(r"\-(\w+)$", p).group(1))
输出:
s = """../dog_breeds/images/Images/n02085620-Chihuahua
../dog_breeds/images/Images/n02085782-Japanese_spaniel
../dog_breeds/images/Images/n02086910-papillon
../dog_breeds/images/Images/n02088466-bloodhound
"""
for p in s.splitlines():
print(p.split("-")[-1])
Chihuahua
Japanese_spaniel
papillon
bloodhound
谢谢,我实际上正在寻找一个
regex
解决方案。