gpt4 book ai didi

python - 从路径中删除文件名(但仅当路径指向文件时)

转载 作者:太空宇宙 更新时间:2023-11-03 11:19:57 26 4
gpt4 key购买 nike

这个问题其实很简单,但我想知道是否有一种特别优雅的方法可以解决我忽略的问题。

假设我获得了一个路径(例如,通过控制台输入从用户那里获得),它可以指向一个目录或一个文件,例如以下之一

/directory1/directory2/file.txt
/directory1/directory2

现在我想编写代码,从路径末尾去掉一个可能的文件名,但不是一个目录名,这样在示例中两个路径都将缩减为 /目录 1/目录 2

  • 我考虑过 os.path.dirname,但它总是会去掉最后一个路径部分,即使它是一个目录也是如此
  • 显而易见的解决方案是使用 os.path.isdiros.path.isfile 并有条件地剥离
  • 我想知道的是:是否有更短的版本可用,例如 os.path.closest_dirname

    可能让我感到困扰的是 os. path.dirname 确实返回最近的目录,而是总是返回父目录(即更像 os.path.parentdir)

最佳答案

os.path 中没有任何内容这似乎可以直接满足您的需求。

虽然我没有发现以下问题有什么问题:

print(path if os.path.isdir(path) else os.path.dirname(path))

关于python - 从路径中删除文件名(但仅当路径指向文件时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45001365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com