(p)
return path
OS-specific conversion from a file system path to a relative URL
    of the 'file' scheme; not recommended for general use.
OS-specific conversion from a file system path to a relative URL
    of the 'file' scheme; not recommended for general use.
OS - specific conversion from a file system path to a relative URL of the file scheme ; not recommended for general use .
def pathname2url(p):
    """OS-specific conversion from a file system path to a relative URL
    of the 'file' scheme; not recommended for general use."""
    # e.g.
    # C:\foo\bar\spam.foo
    # becomes
    # ///C|/foo/bar/spam.foo
    import urllib.parse
    if not ':' in p:
        # No drive specifier, just convert slashes and quote the name
        if 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 = '\\\\' + p
        components = p.split('\\')
        return urllib.parse.quote('/'.join(components))
    comp = p.split(':')
    if len(comp) != 2 or len(comp[0]) > 1:
        error = 'Bad path: ' + p
        raise IOError(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
def pathname2url ( p ) : # e.g. # C:\foo\bar\spam.foo # becomes # ///C|/foo/bar/spam.foo import urllib . parse if not ':' in p : # No drive specifier, just convert slashes and quote the name if 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 = '\\\\' + p components = p . split ( '\\' ) return urllib . parse . quote ( '/' . join ( components ) ) comp = p . split ( ':' ) if len ( comp ) != 2 or len ( comp [ 0 ] ) > 1 : error = 'Bad path: ' + p raise IOError ( 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