我想问一下在读R编程之前如何检查文件的状态(是打开还是关闭)?
我试过myfile = open(filenames)
;它不起作用。
答案 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
函数检查这是否已打开,该函数将返回logical
(TRUE
,FALSE
或NA
)
如果您的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.
可以分别使用open
和close
打开和关闭文件连接。
答案 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")