同步操作将从 OpenHarmony-SIG/python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
"""Convert a NT pathname to a file URL and vice versa.This module only exists to provide OS-specific codefor urllib.requests, thus do not use directly."""# Testing is done through test_urllib.def url2pathname(url):"""OS-specific conversion from a relative URL of the 'file' schemeto a file system path; not recommended for general use."""# e.g.# ///C|/foo/bar/spam.foo# and# ///C:/foo/bar/spam.foo# become# C:\foo\bar\spam.fooimport string, urllib.parse# Windows itself uses ":" even in URLs.url = url.replace(':', '|')if not '|' in url:# No drive specifier, just convert slashesif url[:4] == '////':# path is something like ////host/path/on/remote/host# convert this to \\host\path\on\remote\host# (notice halving of slashes at the start of the path)url = url[2:]components = url.split('/')# make sure not to convert quoted slashes :-)return urllib.parse.unquote('\\'.join(components))comp = url.split('|')if len(comp) != 2 or comp[0][-1] not in string.ascii_letters:error = 'Bad URL: ' + urlraise OSError(error)drive = comp[0][-1].upper()components = comp[1].split('/')path = drive + ':'for comp in components:if comp:path = path + '\\' + urllib.parse.unquote(comp)# Issue #11474 - handing url such as |c/|if path.endswith(':') and url.endswith('/'):path += '\\'return pathdef pathname2url(p):"""OS-specific conversion from a file system path to a relative URLof the 'file' scheme; not recommended for general use."""# e.g.# C:\foo\bar\spam.foo# becomes# ///C:/foo/bar/spam.fooimport urllib.parse# First, clean up some special forms. We are going to sacrifice# the additional information anywayif p[:4] == '\\\\?\\':p = p[4:]if p[:4].upper() == 'UNC\\':p = '\\' + p[4:]elif p[1:2] != ':':raise OSError('Bad path: ' + p)if not ':' in p:# No drive specifier, just convert slashes and quote the nameif p[:2] == '\\\\':# path is something like \\host\path\on\remote\host# convert this to ////host/path/on/remote/host# (notice doubling of slashes at the start of the path)p = '\\\\' + pcomponents = p.split('\\')return urllib.parse.quote('/'.join(components))comp = p.split(':', maxsplit=2)if len(comp) != 2 or len(comp[0]) > 1:error = 'Bad path: ' + praise OSError(error)drive = urllib.parse.quote(comp[0].upper())components = comp[1].split('\\')path = '///' + drive + ':'for comp in components:if comp:path = path + '/' + urllib.parse.quote(comp)return path
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。