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

Python中os.path.join拼接路径时忽略'My Drive'的问题咨询

解决os.path.join忽略中间路径的问题

问题根源很明确:os.path.join 遇到以路径分隔符(Windows下是\)开头的参数时,会直接舍弃前面所有已拼接的路径,只保留这个带开头分隔符的部分。你通过os.path.splitdrive(ii)[1]得到的dir0是\Monthly\iOT\2021,开头的\触发了这个逻辑,导致'My Drive'被忽略。

下面给两种可行的解决办法:

方法一:移除路径开头的分隔符

直接用lstrip去掉dir0开头的路径分隔符(用os.sep适配不同系统),再执行拼接:

import os
ii = r'Z:\Monthly\iOT\2021'
dir0 = os.path.splitdrive(ii)[1].lstrip(os.sep)  # 移除开头的路径分隔符
dir1 = os.path.join(r'G:', r'My Drive', dir0)
print(dir1)  # 输出:G:\My Drive\Monthly\iOT\2021

方法二:使用pathlib(推荐)

Python3.4+引入的pathlib模块处理路径更直观,能避免这类拼接陷阱:

from pathlib import Path
ii = r'Z:\Monthly\iOT\2021'
source_path = Path(ii)
# 构造目标路径:G:\My Drive 加上源路径去掉盘符后的部分
target_path = Path(r'G:\My Drive') / source_path.relative_to(source_path.drive)
print(str(target_path))  # 输出:G:\My Drive\Monthly\iOT\2021

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:05:33