我有一个字符串,其中包含文件名,可选择是完整路径或相对路径。
os.path
模块似乎缺少这样的函数。最简单的解决方法是什么?
我有一个字符串,其中包含文件名,可选择是完整路径或相对路径。
os.path
模块似乎缺少这样的函数。最简单的解决方法是什么?
os.path.basename
函数。basename
。from os.path import basename
# now you can call it directly with basename
print basename("/a/b/c.txt")
c.txt
为输出结果。方法一:(前进的方式)
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