有没有类似于os.path.dirname(path)
的东西,但在pathlib中?
我来这里寻找非常相似的东西。我的解决方案,基于上述@larsks,并假设你想保留除文件名之外的整个路径,是做:
>>> import pathlib
>>> p = pathlib.Path('/path/to/my/file')
>>> pathlib.Path('/'.join(list(p.parts)[1:-1])+'/')
基本上,< code>list(p.parts)[1:-1]创建一个路径元素列表,从第二个元素开始到第n-1个元素,然后用“/”将它们连接起来,形成结果字符串的路径。编辑结尾的“/”号,根据需要进行调整。
看起来有一个<code>parents</code>元素包含给定路径的所有父目录。E、 例如,如果您从以下内容开始:
>>> import pathlib
>>> p = pathlib.Path('/path/to/my/file')
则 p.parents[0]
是包含文件的
目录:
>>> p.parents[0]
PosixPath('/path/to/my')
…和<代码>p。家长[1]将是下一个向上的目录:
>>> p.parents[1]
PosixPath('/path/to')
等等。
p.parent
是请求p.parents[0]
的另一种方式。您可以将Path
转换为字符串并获得几乎您所期望的:
>>> str(p.parent)
'/path/to/my'
并且在任何Path
上,您可以使用.()
方法获取绝对路径:
>>> os.chdir('/etc')
>>> p = pathlib.Path('../relative/path')
>>> str(p.parent)
'../relative'
>>> str(p.parent.absolute())
'/etc/../relative'
请注意,os.path.dirname
和 pathlib
对带有尾部斜杠的路径的处理方式不同。some/path/
的 pathlib
父级是一些
:
>>> p = pathlib.Path('some/path/')
>>> p.parent
PosixPath('some')
而< code>some/path/上的< code>os.path.dirname返回< code>some/path:
>>> os.path.dirname('some/path/')
'some/path'
问题内容: 我正在使用此代码来获取给定文件夹中的所有文件。有没有办法只获取文件夹? 问题答案:
问题内容: 我需要使用文件夹中文件的所有名称创建一个列表。 例如,如果我有: 我想将它们存储为 with 作为值。 用Java做到最好的方法是什么? PS:我在Mac OS X上 问题答案: 你可以这样做: 你只想获取JPEG文件还是所有文件?
问题内容: 如何通过Java读取文件夹中的所有文件? 问题答案: Java 8提供了Files.walk API。
问题内容: 我无法在脚本化的Jenkins Pipeline中的给定目录中创建文件名的简单列表。我尝试了在SO和其他论坛上发布的许多Groovy Script示例,但是该功能被阻止或找不到方法或其他方法。 这似乎是最简单的 但这会错误地解决相对路径,因此出现此错误: 我还尝试用以下方法包装它: 但是有同样的错误: 这不会产生错误,只会将一个文件添加到列表中: 然后,除第一个文件外,所有文件的内容都
问题内容: 我需要从文件夹中读取所有“ .txt”文件(用户需要选择此文件夹)。 请告知如何做? 问题答案: 您可以使用类,这是非常简单的用法 只需创建一个实例,您想要如何覆盖接受方法
如何从资源文件夹的子文件夹中读取文件。 我在资源文件夹中有一些json文件,例如: 现在我想在我的课堂上读到这个 这是我正在尝试的,但是失败了。 不起作用,那么我正在尝试: 这两样东西都不工作。