从文件路径中提取所需的目录名

2024-09-22 16:30:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我的文件路径名如下:

fi = "http://pen.jamstec.go.jp/TKC_/public_html/original/dc/dc_2008/dc_2008_141/dc_2008_141_0706+0900_TKC__y30_u.jpg"

如何提取"TKC_"作为所需信息?你知道吗

我试着做print (os.path.basename(fi)),但结果是:

dc_2008_141_0706+0900_TKC__y30_u.jpg

"http://pen.jamstec.go.jp/**TKC_**/public_html/original/dc/dc_2008/dc_2008_141/dc_2008_141_0706+0900_TKC__y30_u.jpg"

Tags: 文件httpgohtmlpublicdcfijpg
3条回答

试试看

from urllib.parse import urlparse

fi = "http://pen.jamstec.go.jp/TKC_/public_html/original/dc/dc_2008/dc_2008_141/dc_2008_141_0706+0900_TKC__y30_u.jpg"
urlparse(fi).path.split('/')[1]

您可以使用Regex定义要在字符串中搜索的模式,在本例中是TKC_。你知道吗

import re
fi = "http://pen.jamstec.go.jp/TKC_/public_html/original/dc/dc_2008/dc_2008_141/dc_2008_141_0706+0900_TKC__y30_u.jpg"
httpObj = re.compile(r'TKC_') # pattern to search for in the string
print(httpObj.findall(fi)[0])

如果删除print()语句中的[0],则会得到字符串中出现的所有TKC_的列表。你知道吗

尝试使用正则表达式:

import re
fi = "http://pen.jamstec.go.jp/TKC_/public_html/original/dc/dc_2008/dc_2008_141/dc_2008_141_0706+0900_TKC__y30_u.jpg"
result = re.search(r'http://.*?/(.*?)/',fi)
print(result.group(1))

相关问题 更多 >