比较相对和绝对文件路径,只提取相对比例
Comparing relative and absolute filepath, extracting only the relative portion
我有一系列具有以下模式的绝对文件夹路径:
- "C:\Work\Project1\sourcedata"
- "C:\Work\Project1\scripts"
- "C:\Work\Project1\outputs"
- "C:\Work\Project1\outputs"
- "C:\Work\Project1\outputs"
- "C:\Work\Project1\outputs\hello"
我需要提取与文件夹路径相比的相对路径:
- "C:\Work\Project1"
导致:
- "sourcedata"
- "scripts"
- "outputs"
- "outputs"
- "outputs"
- "outputs\hello"
是否有使用 os 执行此操作的方法?
您可以使用pathlib来操作路径,从Python 3.4:
开始
from pathlib import WindowsPath
WindowsPath(r"C:\Work\Project1\sourcedata").relative_to(r"C:\Work\Project1")
# WindowsPath('sourcedata')
WindowsPath(r"C:\Work\Project1\outputs\hello").relative_to(r"C:\Work\Project1")
# WindowsPath('outputs/1/hello')
我有一系列具有以下模式的绝对文件夹路径:
- "C:\Work\Project1\sourcedata"
- "C:\Work\Project1\scripts"
- "C:\Work\Project1\outputs"
- "C:\Work\Project1\outputs"
- "C:\Work\Project1\outputs"
- "C:\Work\Project1\outputs\hello"
我需要提取与文件夹路径相比的相对路径: - "C:\Work\Project1"
导致:
- "sourcedata"
- "scripts"
- "outputs"
- "outputs"
- "outputs"
- "outputs\hello"
是否有使用 os 执行此操作的方法?
您可以使用pathlib来操作路径,从Python 3.4:
开始from pathlib import WindowsPath
WindowsPath(r"C:\Work\Project1\sourcedata").relative_to(r"C:\Work\Project1")
# WindowsPath('sourcedata')
WindowsPath(r"C:\Work\Project1\outputs\hello").relative_to(r"C:\Work\Project1")
# WindowsPath('outputs/1/hello')