代码之家  ›  专栏  ›  技术社区  ›  Brock Woolf

删除字符串中的最后一个路径组件

  •  37
  • Brock Woolf  · 技术社区  · 14 年前

    我有一条路:

    myPath = "C:\Users\myFile.txt"
    

    "C:\Users"
    

    到目前为止,我使用分裂,但它只是给我一个列表,我在这一点上卡住了。

    myPath = myPath.split(os.sep)
    
    2 回复  |  直到 9 年前
        1
  •  102
  •   Daniel Kluev    14 年前

    你不应该直接操作路径,有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:\
    

    这样地。

        2
  •  33
  •   thefourtheye    9 年前

    你也可以使用 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'
    
        3
  •  6
  •   johnDanger Aman    4 年前

    当前的方法(Python>3.4)使用 pathlib 模块。

    >>> import pathlib
    >>> path = pathlib.Path(r"C:\Users\myFile.txt")
    >>> path.parent
    WindowsPath('C:/Users')   #if using a Windows OS
    
    >>> print(path.parent)
    C:\Users
    

    这还有一个额外的好处,就是作为一个跨平台的应用程序 将使路径对象适合当前操作系统(我使用的是Windows 10)