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

Python创建文件后删除报PermissionError: WinError 32错误如何解决?

报错原因

该错误是因为你打开文件写入内容后,没有主动释放文件句柄,文件仍然被当前Python进程占用,Windows系统不允许删除正在被进程占用的文件,所以触发了权限报错。你的代码中调用open()打开File.txt后,没有执行f.close()关闭文件,就直接调用os.remove()删除文件,自然会触发该错误。

解决方案

有两种常用的修复方式:

  • 手动关闭文件后再删除
    写完内容后先调用close()方法释放文件资源,再执行删除操作,修改后代码如下:
import os

t = 'Testfile input...'

f = open('File.txt', 'w')
f.write('{}'.format(t))
# 关闭文件释放占用
f.close()

os.remove('File.txt')
print('File has been removed')
  • 用with上下文管理器自动管理文件(更推荐)
    with语句会在缩进代码块执行结束后自动关闭文件,不需要手动写close(),也不会出现忘记释放资源的问题,代码更安全简洁:
import os

t = 'Testfile input...'

with open('File.txt', 'w') as f:
    f.write('{}'.format(t))
# 离开with代码块后文件已经自动关闭,可直接删除
os.remove('File.txt')
print('File has been removed')
关于程序执行顺序的问题

Python脚本默认就是从上到下顺序执行的,只要前一段代码的逻辑执行完毕、占用的资源全部正确释放,就会自动执行后续代码,不需要做特殊拆分。只要你确保前面操作的资源(比如文件、网络连接等)都正确关闭,后续操作就不会被前面的残留占用影响。

内容的提问来源于stack exchange,提问作者MM-13

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:45:08