我有一个包含文件名的字符串,也可以是完整路径或相对路径。
os.path
模块似乎错过了这样的功能。什么是最简单的解决方案?
答案 0 :(得分:5)
我想你想要os.path.basename
。
答案 1 :(得分:3)
如果您只想要没有路径的文件名,请使用basename
from os.path import basename
# now you can call it directly with basename
print basename("/a/b/c.txt")
这会将c.txt
作为输出。
答案 2 :(得分:0)
方法1 :(前往)
from os.path import basename
filename = basename("/home/user/file.txt")
方法2 :(似乎很好,但不是一个好的方法)
mypath = "/home/user/file.txt"
filename = mypath[mypath.rfind("/")+1:]
Method1适用于所有情况,因为在移动平台时,method2会经常中断。
这就是为什么我们使用os
来改变下划线逻辑和更改平台的原因,这就是python提供平台独立性的方式 - 保持逻辑独立于os细节。