我想用python更改url

2024-04-26 12:33:08 发布

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

我是python新手,我不知道怎么做,所以我请求别人帮忙

我有这样的URL https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4,我想删除URL的最后一部分go_cc_Jpterxvid_avi_mp4,并用/d/更改{},这样我就可以得到这样的URL https://abc.xyz/d/b

/b它经常变化我试过用这样的东西没用 newurl = oldurl.replace('/f/','/d/').rsplit("/", 1)[0]


Tags: httpsurlgoreplaceccmp4abc新手
3条回答

你几乎成功了。更改是删除赋值给newurl末尾的右括号)。以下内容在Python 2和Python 3中都可以工作:

oldurl = "https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4"
newurl = oldurl.replace('/f/','/d/').rsplit("/", 1)[0]
print(newurl)

编辑:正如萨姆纳·埃文斯在你的问题评论中指出的那样,还有更好的解决方案;也许一旦你得到了这个建议,就试试他的图书馆建议。此外,一旦您了解了正则表达式,re库就可以用于文本替换。在

迟答,但您可以使用re.sub"/f/.+"替换为{},即:

old_url = "https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4"
new_url = re.sub("/f/.+", r"/d/b", old_url)
# https://abc.xyz/d/b

Regex Demo and Explanation

您可以应用re.sub两次:

import re
s = 'https://abc.xyz/f/b/go_cc_Jpterxvid_avi_mp4'
new_s = re.sub('(?<=\.\w{3}/)\w', 'd', re.sub('(?<=/)\w+$', '', s))

输出:

^{pr2}$

相关问题 更多 >