在Python中如何从路径中获取文件名?

3

我有一个字符串,其中包含文件名,可选择是完整路径或相对路径。

os.path 模块似乎缺少这样的函数。最简单的解决方法是什么?


1
你想对这个字符串做什么? - mmmmmm
3个回答

5
我认为您需要使用 os.path.basename 函数。

3
如果您只想要文件名而不带路径,则使用basename
from os.path import basename

# now you can call it directly with basename
print basename("/a/b/c.txt")

这将以c.txt为输出结果。

0

方法一:(前进的方式)

from os.path import basename
filename = basename("/home/user/file.txt")

方法二:(看起来不错,但并不是一个好方法)

mypath = "/home/user/file.txt"
filename = mypath[mypath.rfind("/")+1:]

Method1 在所有情况下都有效,而 Method2 尤其是在移动平台上容易出问题。这就是为什么我们使用 os,它可以随着平台的变化改变底层逻辑,从而实现 Python 的平台无关性 - 保持逻辑与操作系统细节独立。


使用 basename 命令会忽略所有的路径信息。只有在你需要获取基础名称而不是路径时才有用。 - mvanveen
那就是上面所期望的。 - Yugal Jindle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接