Python 如何剥离字符串中的图案?
我有一根绳子Python 如何剥离字符串中的图案?,python,string,Python,String,我有一根绳子 a = "/root/LOAD/LOGS/2018-06-15_13:54/" 如何获得输出: "/root/LOAD/LOGS/" 您可以使用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' &
a = "/root/LOAD/LOGS/2018-06-15_13:54/"
如何获得输出:
"/root/LOAD/LOGS/"
您可以使用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'
您可以使用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'
有几种方法,我个人会使用re-import-re模块。但是也可以在不使用额外模块的情况下提取目录。这取决于是否要查看斜杠子目录,或者如果目录名不更改,字符数是否足够
>>> a = "/root/LOAD/LOGS/2018-06-15_13:54/"
>>> "/".join(a.split("/")[:-2]) # from right side
'/root/LOAD/LOGS'
>>> "/".join(a.split("/")[:4]) # from left side
'/root/LOAD/LOGS'
>>> a[:15]
'/root/LOAD/LOGS'
有几种方法,我个人会使用re-import-re模块。但是也可以在不使用额外模块的情况下提取目录。这取决于是否要查看斜杠子目录,或者如果目录名不更改,字符数是否足够
>>> a = "/root/LOAD/LOGS/2018-06-15_13:54/"
>>> "/".join(a.split("/")[:-2]) # from right side
'/root/LOAD/LOGS'
>>> "/".join(a.split("/")[:4]) # from left side
'/root/LOAD/LOGS'
>>> a[:15]
'/root/LOAD/LOGS'
就我个人而言,我更喜欢这个模块
这也是可以重复的
parent_of_parent = path.parent.parent # == Path('/root/LOAD')
就我个人而言,我更喜欢这个模块
这也是可以重复的
parent_of_parent = path.parent.parent # == Path('/root/LOAD')