执行os.path.join('hello', '/hello', 'world')
时,结果将是'/ hello / world'
文档说明“如果组件是绝对路径,则抛弃所有先前的组件并从绝对路径组件继续连接” 因此python将'/ hello'视为绝对路径。
现在当你有一个网站并使用例如<a href="/hello>hello</a>
时,它是一个相对路径?(referring to stackoverflow answer)
答案 0 :(得分:1)
解释参数的方式完全取决于解释参数的程序或函数。在python中处理文件系统路径时,按照惯例,前导斜杠是指文件系统的根。但是,在Web世界中,服务器文件系统的根目录不能公开访问(希望)或与浏览站点的任何人相关,因此有一个主要的斜杠引用域的根> EM>
在你的html示例中,我认为/ hello路径仍然是绝对的,只是根被定义为域,而不是服务器文件系统的根。
答案 1 :(得分:0)
网址由多个组件组成。其中一条是路径。该路径可以是绝对的(/hello/world
)或相对于其所在页面(hello/world
)。在您描述的情况下,两个路径都是绝对路径。
然而,URL的另一个组件是主机。在您的href示例中,您的URL未指定使其相对于服务器/主机名的主机。所以路径不是相对的,但是服务器是。
如果页面在本地主机上提供,href将解析为http://localhost/hello/world
之类的内容,但是如果它由example.com提供,它将解析为http://example.com/hello/world
(假设该方案为http
,则可能是其他内容)