R是否有一个类似于python的io的东西来将文件类对象保存到内存中?

xqkwcwgp  于 2023-02-20  发布在  Python
关注(0)|答案(1)|浏览(103)

在python中,我们可以import io然后make用some_variable=io.BytesIO()创建一个类似object的文件,然后下载任何类型的文件到那里,并像本地保存的文件一样与它交互,除了它在内存中。R有这样的东西吗?为了清楚起见,我不是在问当你把一些R对象保存到一个临时文件时,任何特定的操作系统会做什么。
这是Can I write to and access a file in memory in R?的一种复制品,但它已经有9年的历史了,所以现在可能在基本版本或包中存在该功能。

r7s23pms

r7s23pms1#

是的,readBin

readBin("/path", raw(),  file.info("/path")$size)

这是一个工作示例:

tfile <- tempfile()
writeBin(serialize(iris, NULL), tfile)
 
x <- readBin(tfile, raw(), file.info(tfile)$size)
unserialize(x)

......你就能拿回你的虹膜数据。
这只是一个例子,但是对于R对象,使用readRDS/saveRDS()要方便得多,但是,如果对象是你想要分析的图像,readBin会给出一个原始的内存表示。
对于文本文件,则应用途:

rawToChar(x)

但是对于这些任务同样存在readLines()read.table()等。

相关问题