删除字符串中的最后一个路径组件
我有一条路:
myPath = "C:\Users\myFile.txt"
我想删除结束路径,以便该字符串仅包含:
"C:\Users"
到目前为止,我正在使用split,但是它只给了我一个列表,而我此时停留在此。
myPath = myPath.split(os.sep)
Brock Woolf asked 2020-08-12T09:18:21Z
3个解决方案
71 votes
您不应该直接操作路径,它有os.path模块。
>>> import os.path
>>> print os.path.dirname("C:\Users\myFile.txt")
C:\Users
>>> print os.path.dirname(os.path.dirname("C:\Users\myFile.txt"))
C:\
像这样。
21 votes
您也可以这样使用os.path.split
>>> import os
>>> os.path.split('product/bin/client')
('product/bin', 'client')
它将路径分为两部分,并以元组形式返回它们。 您可以在变量中分配值,然后使用它们,如下所示
>>> head, tail = os.path.split('product/bin/client')
>>> head
'product/bin'
>>> tail
'client'
1 votes
当前的方法(Python> 3.4)是使用pathlib
模块。
>>> import pathlib
>>> path = pathlib.Path(r"C:\Users\myFile.txt")
>>> path.parent
WindowsPath('C:/Users')
>>> print(path.parent)
C:\Users
这具有跨平台的额外好处,因为pathlib
将使路径对象适合当前操作系统(我正在使用Windows 10)