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

d33*_*tah 4 python parsing url-parsing urlparse

我怎样才能轻松地从git URL中提取主机名 ssh://git@gitlab.org.net:3333/org/repo.git

u = urlparse(s)
Run Code Online (Sandbox Code Playgroud)

给我

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

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

我应该这样做

u.netloc.split('@')[1].split(':')[0]
Run Code Online (Sandbox Code Playgroud)

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

Mur*_*nik 8

返回ParseResult有一个hostname属性:

>>> urlparse('ssh://git@gitlab.org.net:3333/org/repo.git').hostname
'gitlab.org.net'
Run Code Online (Sandbox Code Playgroud)