首页 > 解决方案 > 如何去除字符串中的模式?

问题描述

我有以下字符串。

a = "/root/LOAD/LOGS/2018-06-15_13:54/"

我怎样才能得到输出:

"/root/LOAD/LOGS/"

标签: pythonstring

解决方案


您可以os.path.dirname根据需要多次使用上一级目录

>>> import os
>>> a = "/root/LOAD/LOGS/2018-06-15_13:54/"
>>> os.path.dirname(a)
'/root/LOAD/LOGS/2018-06-15_13:54'
>>> os.path.dirname(os.path.dirname(a))
'/root/LOAD/LOGS'

如果您想向上移动已知数量的目录,这很容易包含在辅助函数中

def parent_dir(path, n):
    if n > 1:
        return parent_dir(os.path.dirname(path), n-1)
    return os.path.dirname(path)

例子

>>> parent_dir(a, 2)
'/root/LOAD/LOGS'

推荐阅读