fj1*_*23x 13 python compatibility parsing python-2.x python-3.x
我有一个网址: http://xxx.abcdef.com/fdfdf/
我想得到 xxx.abcdef.com
我可以使用哪个模块来完成此任务?
我想在python2和python3上使用相同的模块和方法
我不喜欢尝试除了python2/3兼容性的方式
非常感谢!
jgr*_*tty 31
使用urlparse:
from urlparse import urlparse
o = urlparse("http://xxx.abcdef.com/fdfdf/")
print o
print o.netloc
Run Code Online (Sandbox Code Playgroud)
from urllib.parse import urlparse
Run Code Online (Sandbox Code Playgroud)
或者,只需使用str.split():
url = "http://xxx.abcdef.com/fdfdf/"
print url.split('/')[2]
Run Code Online (Sandbox Code Playgroud)
旁注:以下是编写urlparse导入的方法,该导入将适用于任一版本:
if sys.version_info >= (3, 0):
from urllib.parse import urlparse
if sys.version_info < (3, 0) and sys.version_info >= (2, 5):
from urlparse import urlparse
Run Code Online (Sandbox Code Playgroud)
您可以使用 3rd 方库 6,它负责处理 python 版本和标准库函数之间的兼容性问题urlparse来提取主机名
所以你需要做的就是安装六个并导入 urlparse
from six.moves.urllib.parse import urlparse
u = urlparse("http://xxx.abcdef.com/fdfdf/")
print(u.hostname)
Run Code Online (Sandbox Code Playgroud)
更多关于 urlparse在这里