首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从R中的文件夹中删除“权限被拒绝”文件

如何从R中的文件夹中删除“权限被拒绝”文件
EN

Stack Overflow用户
提问于 2020-01-17 20:02:18
回答 1查看 821关注 0票数 0

我正在下载一个大的xlsx文件作为函数的一部分。这个文件在linux和mac上是用file.remove()删除的,但在windows机器上我的权限被拒绝了。下面是我的函数的代码。

代码语言:javascript
运行
复制
download.file(
'http://mirtarbase.mbc.nctu.edu.tw/cache/download/7.0/miRTarBase_MTI.xlsx',
'miRTarBase.xlsx', mode = "wb")
readxl::read_excel('miRTarBase.xlsx') -> miRTarBase
write.csv(miRTarBase, 'miRTarBase.csv')
read.csv('miRTarBase.csv', row.names = 1) -> miRTarBase
file.remove("miRTarBase.xlsx")

我在控制台中收到以下错误消息

代码语言:javascript
运行
复制
Warning message:
In file.remove("miRTarBase.xlsx") :
 cannot remove file 'miRTarBase.xlsx', reason 'Permission denied'.

同样,此警告仅出现在窗口中。

此外,在检查文件本身的属性之后,将取消选中“只读”属性。

接下来,下面的代码运行得很好,所以我也不认为问题出在文件夹上。

代码语言:javascript
运行
复制
file.remove("miRTarBase.csv")

我认为问题出在windows对.xlsx文件的处理方式上。

当我在Rstudio仍在运行的情况下尝试删除.xlsx文件时,我收到一条file in use警告消息。在关闭R会话之后,可以毫不费力地删除.xlsx文件。

这让我感到困惑,因为我不习惯使用windows。以前有没有人遇到过这个问题?如能给予任何帮助,我将不胜感激。非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-17 20:33:37

你有没有试过在windows中另存为临时文件?

代码语言:javascript
运行
复制
tmp <-  tempfile()
download.file(
'http://mirtarbase.mbc.nctu.edu.tw/cache/download/7.0/miRTarBase_MTI.xlsx', tmp, mode = "wb")
readxl::read_excel(tmp) -> miRTarBase
write.csv(miRTarBase, 'miRTarBase.csv')
read.csv('miRTarBase.csv', row.names = 1) -> miRTarBase
file.remove(tmp)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59786979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档