data.table
fwrite()
我使用and函数在并行计算中管理资源时遇到了这个问题fread()
,但也能够在下面的顺序示例代码中重新创建行为。调用fwrite()
会引发以下错误:
fwrite(dt, csv_path) 中的错误:权限被拒绝:'D:/mypath/test.csv'。无法打开现有文件进行写入。你有写权限吗?这是 Windows 吗? Excel 等其他进程是否已打开它?
该行为似乎与fread()
之前的调用有关,因为注释掉该fread()
命令会使错误消失。根据您的系统,您可能必须在错误发生之前增加迭代次数,因为它发生在不同的迭代次数上。
有谁知道为什么会这样?提前感谢你的帮助!
示例代码:
library(data.table)
dt = data.table(a = c(1, 2), b = c("a", "b"))
csv_path = "D:/mypath/test.csv"
fwrite(dt, csv_path)
for(i in 1:10000){
test = fread(csv_path)
fwrite(dt, csv_path)
}
系统信息
R 版本 4.0.0 (2020-04-24)
平台:x86_64-w64-mingw32/x64(64位)
运行于:Windows Server x64(内部版本 14393)
data.table_1.12.8