2

可能重复:
Python,从路径中提取文件名,无论 os/path 格式如何

我有一个字符串:

filename = "C:\\mydata\\yourdata\\Finaldata.txt"
>>> filename
'C:\\mydata\\yourdata\\Finaldata.txt'

当我不知道路径在哪里时,我也希望拆分并选择最后一个元素。我写了这些行代码

from os import path
path.splitext(filename)[0].split("\\")[len(path.splitext(filename)[0].split("\\"))-1]
'Finaldata'

但我正在寻找是否有一种优雅的方式来做到这一点。提前感谢詹尼的任何帮助

4

1 回答 1

11

您可以使用:

os.path.basename(aPath)

这将为您提供最后一个组件。如果您想拆分扩展,请使用:

os.path.splitext(aBasename)

使用os.path而不是字符串拆分它更便携,因为它会为每个平台找出正确的分隔符。

如果它是 *nix/osx,那么你就\\必须/进行案例测试。os.path 为您解决所有问题。

最后,/在 windows python 脚本中也适用于路径字符串。我建议总是使用它们,因为它比转义反斜杠更容易:

filename = "C:/mydata/yourdata/Finaldata.txt"
于 2012-10-11T16:31:10.743 回答