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

Python调用os.makedirs创建带~路径时未将~解析为家目录问题

问题根因

Python的os.makedirs不会自动解析路径中的Shell特殊字符~,该字符仅在Shell环境下会被默认替换为用户家目录,直接传给OS模块函数时会被当做普通文件夹名称处理。
此前脚本运行正常,大概率是之前的代码逻辑中包含路径展开的处理步骤,后续开发时误删除了该逻辑才导致问题出现。

修复方案

调用os.path.expanduser()方法预先处理路径,该方法会自动识别路径开头的~并替换为当前用户的家目录绝对路径,修改后的代码如下:

def main():
    setup = openJson(os.path.join(os.path.dirname(__file__), "setup.json"))
    # 展开路径中的波浪号为实际家目录路径
    download_path = os.path.expanduser(setup["downloadsPath"])
    os.makedirs(download_path, exist_ok=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 14:54:04