You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pathlib从raw字符串路径中提取父文件夹?

报错原因

你运行代码的环境是类Unix系统,直接调用Path()会自动生成适配当前系统的PosixPath实例,它不认Windows路径的盘符和反斜杠分隔规则,会把传入的Windows路径识别为相对路径,最终返回的父目录就是当前工作目录.。

解决方法

如果你需要在非Windows系统中解析Windows格式路径,直接用PureWindowsPath类处理即可,示例代码如下:

from pathlib import PureWindowsPath
des_dirs = r'C:\Users\pp\Desktop\IMAGE_DATA\resized\masks'
print(PureWindowsPath(des_dirs).parents[0])

输出结果:

PureWindowsPath('C:/Users/pp/Desktop/IMAGE_DATA/resized')

跨平台适配方案

如果你的代码需要同时在Windows和类Unix系统下运行,可以先判断操作系统类型,再选择对应的路径处理类:

from pathlib import Path, PureWindowsPath
import os

des_dirs = r'C:\Users\pp\Desktop\IMAGE_DATA\resized\masks'
if os.name == 'nt':
    # Windows系统下直接用Path处理
    parent_path = Path(des_dirs).parents[0]
else:
    # 非Windows系统用PureWindowsPath解析Windows格式路径
    parent_path = PureWindowsPath(des_dirs).parents[0]
print(parent_path)

内容的提问来源于stack exchange,提问作者PPR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 17:54:02