Python 如何找到路径的第一个元素?

Python 如何找到路径的第一个元素?,python,python-3.x,Python,Python 3.x,我刚刚下载了Python3.4,我想知道如何找到相对路径的第一个目录?也就是说,给定路径a/b/c/d我想打印a 我得到的最接近的结果是: from pathlib import Path print(list(Path('a/b/c/d').parents)[-2]) 或 在这两种情况下,-2部分都有点神奇。我读过文件和政治公众人物,没有找到更好的方法。。我错过了什么明显的东西吗?正是你所需要的 p = Path("a/b/c/d") print(p.parts[0]) 使用属性: >

我刚刚下载了Python3.4,我想知道如何找到相对路径的第一个目录?也就是说,给定路径
a/b/c/d
我想打印
a

我得到的最接近的结果是:

from pathlib import Path
print(list(Path('a/b/c/d').parents)[-2])

在这两种情况下,
-2
部分都有点神奇。我读过文件和政治公众人物,没有找到更好的方法。。我错过了什么明显的东西吗?

正是你所需要的

p = Path("a/b/c/d")
print(p.parts[0])
使用属性:

>>> from pathlib import Path
>>> Path('a/b/c/d').parts
('a', 'b', 'c', 'd')
>>> Path('a/b/c/d').parts[0]
'a'
从中,
parents
为您提供一个不可变的序列,提供对路径的逻辑祖先的访问;该序列的最后一个元素将是逻辑根,倒数第二个元素将是路径中的第一个目录,这就是您要查找的目录。这就是为什么需要使用
p.parents[len(p.parents)-2]
快捷方式(“-2”表示列表中的“倒数第二”元素)


请注意,
parents
始终提供完整格式的路径。如果只需要目录名,则可能需要使用
p.parts
。在这种情况下,第一个元素是逻辑根,因此您需要修复
p.parts[1]

。“-2”的含义仍然相同,但是,访问“倒数第二”路径是因为最后一个路径只是逻辑根。
>>> from pathlib import Path
>>> Path('a/b/c/d').parts
('a', 'b', 'c', 'd')
>>> Path('a/b/c/d').parts[0]
'a'