在R语言中,访问文件的日期信息(如创建时间、修改时间等)可以通过基础函数或第三方包实现。以下是详细说明:
文件日期信息通常包括:
R内置函数 file.info()
可直接获取文件日期信息:
# 获取单个文件的日期信息
file_info <- file.info("your_file.csv")
print(file_info[c("mtime", "atime", "ctime")])
# 输出示例:
# mtime atime ctime
# your_file.csv "2024-05-20 14:30:00" "2024-05-21 09:15:00" "2024-05-19 10:00:00"
结合 list.files()
可批量获取多个文件的日期:
files <- list.files(pattern = "\\.csv$") # 获取所有CSV文件
file_details <- file.info(files)
print(file_details[, c("mtime", "atime", "ctime")])
日期默认以本地时区显示,可通过 format()
调整:
file_info <- file.info("data.txt")
formatted_time <- format(file_info$mtime, tz = "UTC", usetz = TRUE)
print(paste("UTC时间:", formatted_time))
fs
包(更现代化的替代方案):fs
包(更现代化的替代方案):if (file.exists("file.txt")) {
info <- file.info("file.txt")
} else {
warning("文件不存在")
}
atime
,需通过 Sys.setlocale()
确保时间格式兼容。使用 file.info()
的 extra_cols = TRUE
参数获取符号链接本身的日期:
file.info("symlink", extra_cols = TRUE)
对大量文件操作时,fs::dir_info()
比 file.info()
更快:
library(fs)
dir_info(recurse = TRUE) |>
filter(type == "file") |>
select(path, modification_time)
以上方法覆盖了R中文件日期操作的主要需求,可根据实际场景选择合适方案。