首页 > 解决方案 > 如何使用 R 访问隐藏的系统文件?

问题描述

我是 Mac 用户。每当我想访问位于文件夹中的邮件文件/Users/user_name/Library/Mail夹时;RStudio 只是忽略它并且不显示任何文件。

setwd("/Users/user_name/Library/Mail")`

list.dirs("/Users/user_name/Library/Mail")
> character(0)

list.files("/Users/user_name/Library/Mail")
> character(0)

我了解由于访问这些文件需要管理员授权,R 无法访问它们。有没有办法授予管理员对 R 的访问权限以访问隐藏的系统文件?

这个问题是两天前在 RStudio 社区论坛上交叉发布的。不幸的是,我无法得到答复。这就是为什么我再次在这里问。

编辑:两者都list.files()没有list.dirs()返回。

标签: rmacossandbox

解决方案


将 R 可执行文件和 RStudio 可执行文件(拖动它们的图标)添加到 System Preferences => Security & Privacy 的 Privacy 选项卡下的 Full Disk Access 元素:

在此处输入图像描述

注意:我也有Rand Rscript,但窗格太小而无法显示。

另请注意,我确实看到了

nw_path_close_fd Failed to close guarded necp fd 22 [9: Bad file descriptor]

Console.app这些尝试中,我的电话list.dirs() 似乎挂了,但只需要一段时间 b/c 我有大量的文件夹/文件(谢谢,gmail)。

我会逐步尝试使用recursive=FALSEin ,list.dirs()直到您验证一切正常。

这篇文章有一些链接提供了这个新的沙盒文件系统行为的背景。


推荐阅读