比较相对和绝对文件路径,仅提取相对部分

时间:2018-08-24 12:38:37

标签: python operating-system filepath

我有一系列具有以下模式的绝对文件夹路径:

  • “ C:\ Work \ Project1 \ sourcedata”
  • “ C:\ Work \ Project1 \ scripts”
  • “ C:\ Work \ Project1 \ outputs \ 4”
  • “ C:\ Work \ Project1 \ outputs \ 3”
  • “ C:\ Work \ Project1 \ outputs \ 1”
  • “ C:\ Work \ Project1 \ outputs \ 1 \ hello”

与文件夹路径相比,我需要提取相对路径: -“ C:\ Work \ Project1”

结果:

  • “源数据”
  • “脚本”
  • “输出\ 4”
  • “输出\ 3”
  • “输出\ 1”
  • “ outputs \ 1 \ hello”

是否有使用os进行此操作的方法?

1 个答案:

答案 0 :(得分:2)

从Python 3.4开始,您可以使用pathlib来操纵路径:

from pathlib import WindowsPath

WindowsPath(r"C:\Work\Project1\sourcedata").relative_to(r"C:\Work\Project1")
# WindowsPath('sourcedata')

WindowsPath(r"C:\Work\Project1\outputs\1\hello").relative_to(r"C:\Work\Project1")
# WindowsPath('outputs/1/hello')