使用标准库urlparse
将无法解析许多有效的 git URL。
>>> from urllib.parse import urlparse
>>> urlparse('git@github.com:Org/Private-repo.git')
ParseResult(scheme='', netloc='', path='git@github.com:Org/Private-repo.git', params='', query='', fragment='')
https://pypi.python.org/pypi/git-url-parse是一个相当不错的 git URL 解析器,具有与urlparse
.
>>> import giturlparse
>>> url = giturlparse.parse('ssh://git@gitlab.com:3333/org/repo.git')
>>> url
Parsed(pathname='/org/repo.git', protocols=['ssh'], protocol='ssh', href='ssh://git@gitlab.com:3333/org/repo.git', resource='gitlab.com', user='git', port='3333', name='repo', owner='org')
>>> url.resource
'gitlab.com'
https://pypi.org/project/giturlparse/是另一个,最近更新了,使用了类似的 API。
请注意,这两个 PyPI 包都安装到 directory giturlparse
,因此它们相互冲突,但由于具有相似的 API,它们几乎可以互换。