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

Python os.chdir切换CMD工作目录失效、运行报错解决方案

核心错误说明

你的代码存在3个必然导致功能失效的问题:

  • os.chdir() 无法识别CMD格式的环境变量占位符(%变量名%是CMD shell专属语法,Python原生不会解析这类字符串,直接传入会被当成普通文件夹路径查找,必然匹配失败)。
  • os.system('cd 路径') 完全不会修改Python进程的工作目录:os.system每次执行都会启动独立的CMD子进程,子进程内的目录切换仅在子进程生命周期内生效,命令执行完子进程立刻销毁,对Python主进程没有任何影响。
  • 路径拼接逻辑本身错误:%SystemRoot%对应的是Windows系统目录(默认是C:\Windows),并非用户目录的父级,哪怕你成功解析了环境变量,拼出的路径也是C:\Windows\Users\用户名\...,这个路径本身不存在,必然触发报错。
  • 额外提醒:手动替换硬编码路径时如果仍然失败,优先检查路径前缀是否写错,正确的用户目录前缀是C:\Users\用户名,不要带Windows层级。
正确实现代码

不要通过调用系统cd命令切换目录,直接用Python内置能力获取路径、切换工作目录即可,自动兼容斜杠/反斜杠,不需要手动转义:

import os
from pathlib import Path

# 自动读取当前系统的用户根目录,无需手动写用户名
user_home = Path(os.environ["USERPROFILE"])
# 自动拼接Chrome用户数据目录路径
target_dir = user_home / "AppData" / "Local" / "Google" / "Chrome" / "User Data"

# 切换前校验路径是否存在,避免抛出异常
if target_dir.is_dir():
    os.chdir(target_dir)
    # 打印当前工作目录验证切换结果
    print(f"当前工作目录已切换为:{os.getcwd()}")
else:
    print(f"目标路径不存在,请检查Chrome安装情况:{target_dir}")
验证注意事项

不要通过os.system('cd')查看当前路径,该命令返回的是独立子进程的路径,和Python主进程的工作目录无关,验证路径直接调用os.getcwd()即可。

内容的提问来源于stack exchange,提问作者Soufiane El Himani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:24:21