Python创建目录/文件路径与指定不符的问题求助
问题原因与解决办法
为啥会这样?
你装的是微软商店版的Python,这个版本受Windows容器化机制限制——它会自动把你对APPDATA、用户文档这类系统目录的读写请求,偷偷重定向到专属的沙盒缓存目录(就是你看到的C:\Users\ivan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\Roaming),目的是实现应用隔离,避免权限冲突。
怎么解决?
方法1:换成官网标准版Python(最推荐)
- 卸载当前的微软商店版Python:打开Windows设置→应用→应用和功能,找到对应版本的Python完成卸载。
- 从Python官网下载对应版本的离线安装包,安装时务必勾选**"Add Python to PATH"**选项,安装完成后重启终端。
- 验证:打开命令行输入
where python,若输出路径为类似C:\Users\ivan\AppData\Local\Programs\Python\Python311\python.exe(不含Packages相关字段),再运行你的代码,目录就会生成到指定的APPDATA路径下。
方法2:适配商店版路径(不推荐)
如果不想卸载,只能直接操作它的缓存目录,但这不符合你原本的需求场景。可以通过os.getenv('LOCALAPPDATA')拼接缓存路径来操作,但生成的文件会被锁在沙盒里,无法和其他非商店版应用共享。
快速验证
运行以下代码可查看当前Python实际对应的"APPDATA"重定向路径:
import os print(os.getenv('APPDATA'))
若输出为那个缓存路径,即可确认是商店版Python导致的重定向问题。
内容的提问来源于stack exchange,提问作者Ivan Gyulev
相关产品推荐
相关产品推荐

