我们从Python开源项目中,提取了以下4个代码示例,用于说明如何使用six.moves.urllib_parse.urlsplit()。
def collect_hosts(hosts, randomize=True): """Collect a set of hosts and an optional chroot from a string.""" host_ports, chroot = hosts.partition("/")[::2] chroot = "/" + chroot if chroot else None result = [] for host_port in host_ports.split(","): # put all complexity of dealing with # IPv4 & IPv6 address:port on the urlsplit res = urllib_parse.urlsplit("xxx://" + host_port) host = res.hostname if host is None: raise ValueError("bad hostname") port = int(res.port) if res.port else 2181 result.append((host.strip(), port)) if randomize: random.shuffle(result) return result, chroot
def parse_implicit_response(url): pairs = urlsplit(url).fragment.split('&') fragment = dict() for pair in pairs: key, value = pair.split('=') fragment[key] = value return {'access_token': fragment.get('access_token'), 'scope': fragment.get('scope', '').split('+'), 'state': fragment.get('state')}
def extract_twitter_username(username_or_url): split_url = urlsplit(username_or_url) if split_url.netloc == 'twitter.com': return re.sub(r'^/([^/]+).*', r'\1', split_url.path) return username_or_url.strip().lstrip('@')
def collect_hosts(hosts): """ Collect a set of hosts and an optional chroot from a string or a list of strings. """ if isinstance(hosts, list): if hosts[-1].strip().startswith('/'): host_ports, chroot = hosts[:-1], hosts[-1] else: host_ports, chroot = hosts, None else: host_ports, chroot = hosts.partition("/")[::2] host_ports = host_ports.split(",") chroot = "/" + chroot if chroot else None result = [] for host_port in host_ports: # put all complexity of dealing with # IPv4 & IPv6 address:port on the urlsplit res = urllib_parse.urlsplit("xxx://" + host_port) host = res.hostname if host is None: raise ValueError("bad hostname") port = int(res.port) if res.port else 2181 result.append((host.strip(), port)) return result, chroot