python - 如何从 pathlib.path 获取给定文件所在的文件夹名称?

标签 python filenames python-os pathlib

有没有类似于os.path.dirname(path)的东西,但是在pathlib中?

最佳答案

看起来有一个 parents 元素包含给定路径的所有父目录。例如,如果你开始:

>>> import pathlib
>>> p = pathlib.Path('/path/to/my/file')

那么p.parents[0]就是包含file的目录:

>>> p.parents[0]
PosixPath('/path/to/my')

...和 ​​p.parents[1] 将是下一个目录:

>>> p.parents[1]
PosixPath('/path/to')

等等

p.parent 是请求 p.parents[0] 的另一种方式。您可以将 Path 转换为字符串并获得几乎您所期望的:

>>> str(p.parent)
'/path/to/my'

在任何 Path 上,您都可以使用 .absolute() 方法来获取绝对路径:

>>> os.chdir('/etc')
>>> p = pathlib.Path('../relative/path')
>>> str(p.parent)
'../relative'
>>> str(p.parent.absolute())
'/etc/../relative'

请注意,os.path.dirnamepathlib 以不同的方式处理带有斜杠的路径。 some/path/pathlib 父级是 some:

>>> p = pathlib.Path('some/path/')
>>> p.parent
PosixPath('some')

some/path/ 上的 os.path.dirname 返回 some/path:

>>> os.path.dirname('some/path/')
'some/path'

关于python - 如何从 pathlib.path 获取给定文件所在的文件夹名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35490148/

相关文章:

python - 如何从 Pandas 数据框中获取二维 numpy 数组? - 错误的形状

linux - 在 Linux 中搜索文件名中的模式

python - 用 Python 抓取文件名的一部分

python - os.rename [Errno 2] 没有那个文件或目录

Python:从特定的 .env 文件中获取 env 变量的值

python - 当使用另一个列表附加数学列表时,如何使第二个列表与第一个列表的长度相同?

python - 并发任务确定性地生成伪随机数

Python 分析器 Statprof 多次出现相同的过程

file - 将文件名中具有特定字符串的目录中的所有文件复制到 Bash 中的不同目录

python - Python 2.7如何高效优雅的创建目录和子目录?