好像是 os.sep 返回 "/"作为分隔符,我想知道我是否可以使用它来制作 URL:
例如。获取类似 https://some.domain.com/catalogs
的 url
protocol + request.get_host() + os.sep + get_file_name()
Or
最佳答案
os.sep
为您提供当前系统文件系统路径的分隔符。您的系统路径和 URI 路径不同。
RFC 3986 给出:
如果您有一个像 http://foo.bar.baz/a/b/c/d
的 URI,您应该使用 urlsplit
将其拆分为组件并提取 path
部分。然后你可以安全地使用 .split('/')
来获取这个路径的各个部分,或者使用 '/'.join
从段中构造一个路径(如果你知道每个段根据语法都是有效的段)。
语法不允许此 /
不是路径段中的分隔符,请检查 RFC 以确保双重确定。但这并不适用于整个 URL,/
在其他 URL 部分将意味着不同的东西。urlsplit
的反面是 urlunsplit
,一旦你组装了路径,它就可以做你想做的事。
为安全起见,您应该在使用 /
将单个路径部分与 urllib.quote('/test', '')
连接之前对其进行百分比编码(注意第二个参数 - /
默认情况下不会在此处转义。)
关于python - 在 url 中使用 os.sep 而不是 "/"可以吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24907997/