我喜欢 Python,因为它包含电池,而且我经常使用内置函数来为我完成这项肮脏的工作。
我一直很高兴地使用 os.path 模块来处理文件路径,但最近我在 Ubuntu linux 下的 Python 2.5 上得到了意想不到的结果,同时处理了代表 Windows 文件路径的字符串:
filepath = r"c:\ttemp\FILEPA~1.EXE"
print os.path.basename(filepath)
'c:\\ttemp\\FILEPA~1.EXE']
print os.path.splitdrive(filepath)
('', 'c:\ttemp\\FILEPA~1.EXE')
怎么回事?
它以与 filepath = u"c:\ttemp\FILEPA~1.EXE" 和 filepath = "c:\ttemp\FILEPA~1.EXE" 相同的方式结束。
你有线索吗?Ubuntu 使用 UTF8,但我觉得这与它无关。也许我的 Python 安装搞砸了,但我没有对它进行任何我记得的特殊调整。