解析像'ssh://git@gitlab.org.net:3333 / org / repo.git'这样的git网址?

时间:2016-04-21 20:43:38

标签: python parsing url-parsing urlparse

如何从ssh://git@gitlab.org.net:3333/org/repo.git

等git网址轻松提取主机名
u = urlparse(s)

给了我

ParseResult(scheme='ssh', netloc='git@gitlab.org.net:3333', path='/org/repo.git', params='', query='', fragment='')

这意味着netloc最接近我想要的东西,这给我带来了令人失望的工作量。

我应该

u.netloc.split('@')[1].split(':')[0]

或者是否有更好地处理它的库?

2 个答案:

答案 0 :(得分:8)

返回的ParseResult具有hostname属性:

>>> urlparse('ssh://git@gitlab.org.net:3333/org/repo.git').hostname
'gitlab.org.net'

答案 1 :(得分:0)

您可以使用https://pypi.python.org/pypi/git-url-parse来解析git网址

Matched<std::tuple<int,int>>