python - 如何去除字符串中的模式?
问题描述
我有以下字符串。
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'
推荐阅读
- postgresql - 触发器以保持行数
- svg - 将渐变应用于填充路径的 svg 形状
- php - MySQL $row 选择了如何只显示列的前 n 个字符
- visual-studio-code - 如何在 VSCode 中从 Python Interactive 调试 python 模块?
- c++ - 错误:重新定义类,尽管使用了包含守卫
- javascript - 控制台显示意外标识符错误并且代码不运行
- html - 伪元素覆盖主类
- java - 无法在服务中使用 findViewById,使用了 LayoutInflater 但没有帮助,没有显示值
- postgresql - 将 '0' 转换为双精度,然后乘以 -1 将导致负零
- android - Firebase Crashlytics - java.lang.IllegalStateException:缺少 Crashlytics 构建 ID