问题实际上很简单,但我在想是否有一种特别优雅的方法可用于解决我忽略的问题。
假设我获得一个路径(例如通过控制台输入从用户那里获得),该路径可以指向目录或文件,例如以下之一:
现在我想编写一段代码,从路径末尾剥离出潜在的文件名,但不是目录名,以便在示例中这两个路径都可以简化为
假设我获得一个路径(例如通过控制台输入从用户那里获得),该路径可以指向目录或文件,例如以下之一:
/directory1/directory2/file.txt
/directory1/directory2
现在我想编写一段代码,从路径末尾剥离出潜在的文件名,但不是目录名,以便在示例中这两个路径都可以简化为
/directory1/directory2
。
- 我考虑过
os.path.dirname
,但它总是会剥离掉最后一个路径组件,即使它是一个目录 - 显而易见的解决方案是使用
os.path.isdir
或os.path.isfile
并有条件地进行剥离 - 我想知道的是:是否有更短的版本可用,比如
os.path.closest_dirname
?
这里可能让我感到困扰的是,os.path.dirname
并不返回最近的目录,而是始终返回父目录(即类似于os.path.parentdir
)
.format
结尾? - PYAos.path.dirname
起作用的原因... - Patrick Storz