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

Windows环境下Python无法写入文件的问题排查求助

问题描述

环境信息

  • 操作系统:Microsoft Windows [Version 10.0.19045.6456](未运行OneDrive)
  • Python版本:3.14.0

测试代码

使用pathlib库尝试写入文件,代码如下:

from pathlib import Path

print("trying to write to file")

cwd = Path.cwd()
print(f"cwd: {cwd}")

destname = Path("ccc.txt")
print(f"destname is {destname}")

destpath = cwd / destname
print(f"destpath is {destpath}")

destpath.write_text("daa daa dah dah", encoding="utf-8")

#with destpath.open(mode="w", encoding="utf-8") as x:
#    print(f"x is {x}")
#    x.write("oh boy oh boy")

print("finished writing to file")

报错信息

终端执行报错:

FileNotFoundError: [Errno 2] No such file or directory

目标路径为当前工作目录下的ccc.txt。

已排查项

  • 已通过cwd()生成绝对路径并验证
  • 目标文件夹存在
  • Python运行用户为文件夹所有者(已通过whoami确认)
  • 未运行OneDrive
  • 尝试过os库与pathlib两种方式
  • 试过with open语法同样失败
  • 文件扩展名未隐藏
  • 更换过其他文件夹仍无法写入

已尝试网上同类问题的解决方案但无效,求助:为何Windows禁止Python写入文件?是否需修改注册表解决?


排查与解决方向
  1. 检查目录权限的实际应用
    虽已确认用户是文件夹所有者,但Windows权限继承可能异常。右键目标目录→属性→安全→编辑,确认当前用户拥有写入、修改权限,且权限已应用到子文件和文件夹。

  2. 排查安全软件拦截
    Windows Defender或第三方杀毒软件可能阻止Python进程写入文件。临时关闭实时保护后测试代码,若能正常写入,需将Python.exe或脚本所在目录添加到安全软件信任列表。

  3. 验证路径合法性
    Windows默认限制文件路径长度为260字符,若当前工作目录路径过长,会导致无法创建文件。可将脚本移至短路径目录(如C:\test)测试;同时检查路径是否包含空格、非ASCII字符,改用纯英文路径尝试。

  4. 以管理员身份运行进程
    打开任务管理器确认Python进程的运行用户,若为系统账户则会有权限限制。尝试以管理员身份启动命令提示符/终端,再执行Python脚本。

  5. 注册表调整长路径支持(谨慎操作)
    若为路径长度限制问题,可修改注册表开启长路径支持:

    • 运行regedit打开注册表编辑器
    • 导航至HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
    • 找到LongPathsEnabled,将其值改为1(不存在则新建DWORD(32位)值)
    • 重启电脑后生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.03 14:02:30