如何在R中打开或关闭文件

时间:2013-11-18 01:47:08

标签: r file

我想问一下在读R编程之前如何检查文件的状态(是打开还是关闭)?

我试过myfile = open(filenames);它不起作用。

3 个答案:

答案 0 :(得分:2)

我认为诀窍是使用open = "w"进行写作。这似乎对我来说很完美:

file.opened <- function(path) {
  suppressWarnings(
    "try-error" %in% class(
      try(file(path, 
               open = "w"), 
          silent = TRUE
      )
    )
  )
}

打开Excel文件后:

file.opened("C:\\Folder\\tbl1.xlsx")
# TRUE

当我关闭它时:

file.opened("C:\\Folder\\tbl1.xlsx")
# FALSE

答案 1 :(得分:0)

使用函数file时,将返回与文件的连接:

con <- file(description="path/to/file", ...)

您可以使用isOpen函数检查这是否已打开,该函数将返回logicalTRUEFALSENA

如果您的R会话中没有connection,或者连接已被删除,则连接已关闭:

摘录?file

 ‘close’ closes and destroys a connection.  This will happen
 automatically in due course (with a warning) if there is no longer
 an R object referring to the connection.

可以分别使用openclose打开和关闭文件连接。

答案 2 :(得分:0)

对于 Excel 文件,我使用了以下方法并且它在我的计算机上工作:使用它的名称重命名 Excel 文件。如果 Excel 文件已打开,则返回 FALSE。如果 Excel 文件已关闭,则返回 TRUE。

file.rename(from = "C:/Users/xxx/Desktop/Test file access/file1.xlsx",
            to = "C:/Users/xxx/Desktop/Test file access/file1.xlsx")