亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

URL解析:獲取從某個文件夾開始的N個文件夾,后跟文件名

URL解析:獲取從某個文件夾開始的N個文件夾,后跟文件名

繁星點點滴滴 2023-09-26 14:57:05
我有一個可以包含任意數量文件夾的 URL,它以 filename.extension 結尾。例子:https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg我試圖在 /v87879798 版本折疊后獲取所有內容,因此:images/profile/oaz4wkjkjsbzxa3xlkmu.jpg我嘗試了如下多種方法,但沒有任何效果,因為我知道我很可能需要一個正則表達式,但我對它們的了解還不允許我構建這樣的表達式。我嘗試過的一些方法是:import osfrom urllib.parse import urlparse# url https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpgparsed_url = urlparse(url)# parsed_url.path /lang-code/image/upload/v1601568948/images/profilepath = os.path.dirname(parsed_url.path)# file_name oaz4wkjkjsbzxa3xlkmu.jpgfile_name = os.path.basename()但到目前為止還沒有任何效果。任何幫助將不勝感激。
查看完整描述

1 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

使用正則表達式模式 --> r"v\d+\/(.+)$". 假設隨機數開頭為v


前任:


import re

from urllib.parse import urlparse


ptrn = re.compile(r"v\d+\/(.+)$")

url = "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg"

parsed_url = urlparse(url)

print(ptrn.search(parsed_url.path).group(1))

輸出:


images/profile/oaz4wkjkjsbzxa3xlkmu.jpg

演示:


ptrn = re.compile(r"v\d+\/(.+)$")

urls = ["https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/images/profile/oaz4wkjkjsbzxa3xlkmu.jpg",

       "https://cdn.example.com/user/image/upload/v87879798/images/oaz4wkjkjsbzxa3xlkmu.jpg", "https://cdn.example.com/user/image/upload/v87879798/oaz4wkjkjsbzxa3xlkmu.jpg"]


for url in urls:

    parsed_url = urlparse(url)

    print(ptrn.search(parsed_url.path).group(1))

輸出:


images/profile/oaz4wkjkjsbzxa3xlkmu.jpg

images/profile/oaz4wkjkjsbzxa3xlkmu.jpg

images/oaz4wkjkjsbzxa3xlkmu.jpg

oaz4wkjkjsbzxa3xlkmu.jpg


查看完整回答
反對 回復 2023-09-26
  • 1 回答
  • 0 關注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號