R编程使用file.remove删除临时文件出现Permission denied报错如何解决?
问题原因分析
- 该报错和Windows 10未激活无关联,系统未激活只会限制个性化设置、部分系统更新推送,不会影响普通文件的读写删除权限
- 报错的核心诱因有两类:
- 要删除的临时文件
tmp_ali正被R本身或其他程序占用(比如你可能刚读取/写入过这个文件还没关闭连接,或者安全软件正在扫描该临时文件) - 当前RStudio没有获得该临时目录的修改权限
- 要删除的临时文件
解决方案
- 方法1:先关闭文件连接再执行删除
如果你之前对该文件执行过读取、写入操作,先运行close(tmp_ali)关闭文件连接,再执行file.remove(tmp_ali) - 方法2:以管理员身份运行RStudio
右键点击RStudio快捷方式,选择以管理员身份运行,重新执行你的代码即可 - 方法3:手动解锁占用后删除
如果上述方法无效,先重启RStudio清空所有正在运行的进程和文件连接,再执行删除操作;如果依旧报错,可以去报错提示的临时目录手动删除该文件,删除时如果提示被占用,可以通过任务管理器结束对应占用进程后再操作 - 方法4:跳过删除临时文件的步骤
你提到的是课程演示的临时操作,R本身会在会话结束后自动清理当前会话生成的临时目录下的所有文件,你完全可以不用手动执行file.remove操作,不影响后续代码运行
内容的提问来源于stack exchange,提问作者Ali Inayat
相关产品推荐
相关产品推荐

