我知道必须有更好的方法来完成以下任务。 这是我的功能:
def authenticated_url(url):
return re.sub(r"(^https://)", "https://" + access_token() + "@", url)
access_token()
将一个标记作为字符串返回,例如"1248jkdfhjksabcd382"
所需的输出如下:
>>> url = "https://github.com/jfach/autostager"
>>> auth_url = authenticated_url(url)
>>> url
'https://1248jkdfhjksabcd382@github.com/jfach/autostager'
这是我目前得到的输出,所以它有效,但我不能认为我错误/低效地使用re
模块。
答案 0 :(得分:2)
如果您的模式已修复,您可以执行以下操作:
url[:8] + access_token() + '@' + url[8:]
如果您对协议不确定,可以使用replace
:
url.replace('github', access_token() + '@github')
答案 1 :(得分:0)
怎么样:
>>> url = "https://{access_token}@github.com/jfach/autostager"
>>> url.format(access_token=access_token())
'https://1248jkdfhjksabcd382@github.com/jfach/autostager'