【发布时间】:2010-11-09 21:33:07
【问题描述】:
>>> os.path.basename('http://example.com/file.txt')
'file.txt'
.. 我认为os.path.* 仅适用于本地路径而不适用于 URL?请注意,上面的示例也是在 Windows 上运行的......结果相似。
【问题讨论】:
-
澄清:我不是在问/为什么/它有效(源代码显然是要走的路);而是我问为什么它应该工作(根据政策 - 特别是在 Windows '\' 是路径分隔符)
-
Microsoft 操作系统接受
/正斜杠作为来自Dos 2的路径分隔符,尽管从Dos 3使用/被命令shell 禁用(它不再是),因为它是与命令行选项标志符号冲突。由于许多实现根本不知道/的有效性。 Python显然是。此外,您不能使用带有"\\?\"前缀的正斜杠。来源bytes.com/topic/python/answers/… 和msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx#paths