Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何阻止normalizePath返回标记化路径_R_Text_Runtime Error_Token_Output - Fatal编程技术网

如何阻止normalizePath返回标记化路径

如何阻止normalizePath返回标记化路径,r,text,runtime-error,token,output,R,Text,Runtime Error,Token,Output,我有一个R程序,它可以进行大量的数据分析,并将结果输出到一个文本文件中。不幸的是当我打电话时 system2("open", file_path_as_absolute(toFile)); R解释器声明如下 '../output/HLA-A,B,C,DR,DP,DQ' not found 'GT2' not found 'vs' not found 'LT2_DRB1_output2of9.10.11.12.13.14.16.25.26.28.30.31.32.33.37.38.40.47.5

我有一个R程序,它可以进行大量的数据分析,并将结果输出到一个文本文件中。不幸的是当我打电话时

system2("open", file_path_as_absolute(toFile));
R解释器声明如下

'../output/HLA-A,B,C,DR,DP,DQ' not found
'GT2' not found
'vs' not found
'LT2_DRB1_output2of9.10.11.12.13.14.16.25.26.28.30.31.32.33.37.38.40.47.57.58.60
.67.70.71.73.74.77.78.85.86.txt' not found
基于这个错误,我假设file_path_as_absolute标记了文件名,但我不确定如何禁用它。我也尝试了normalizePath(),但我得到了相同的错误

编辑

文件本身被称为

"HLA-A,B,C,DR,DP,DQ GT2 vs LT2_DRB1_output2of9.10.11.12.13.14.16.25.26.28.30.31.32.33.37.38.40.47.57.58.60.67.70.71.73.74.77.78.85.86.txt" 
并位于
。/output

下面是我打开文件时运行的代码,它给了我相同的错误

openSesame <- paste0('"', file_path_as_absolute(toFile), '"');
system2("open", openSesame);

openSesame我可以从存在姐妹目录
。/output
的目录中获取以下代码在我的系统上运行(我的系统上没有
open
,因此我使用
gedit
作为外部命令):


fn帮助文件说
file\u path\u as\u absolute
normalizePath
的包装器,因此得到相同的答案并不奇怪。请重复示例:什么是
toFile
?里面有空间吗(通常是个坏主意)?如果是这样,你可能需要用引号来保护它。。。看起来错误来自操作系统(即来自
open
),而不是R解释器…PS您是否检查了
文件路径的结果作为绝对值(toFile)
?@BenBolker toFile是保存我要打开的文件名的变量。我如何用引号保护它?输出文件的名称中确实有空格。可能
paste0(“”,file_path_as_absolute(toFile)),“”)
会起作用。但是,一个可复制的示例将非常有用。这不起作用,我将在我的原始帖子上向您显示更新的代码。我实现了您的代码,但仍然收到相同的错误。这意味着您已经运行了我上面显示的代码(但是使用
打开
而不是
gedit
)?还是你想把我的想法融入你的代码?可以想象,这是一个特定于平台的东西(你在MacOS上吗?),我明天可能可以在Mac上尝试——但是,如果没有一个可复制的示例,我将无法继续(对不起)。请参阅上面评论中的链接。。。
fn <- "HLA-A,B,C,DR,DP,DQ GT2 vs LT2_DRB1_output2of9.10.11.12.13.14.16.25.26.28.30.31.32.33.37.38.40.47.57.58.60.67.70.71.73.74.77.78.85.86.txt"
prot <- function(x) paste0('"',x,'"')
writeLines(c("a","b"),con=paste0("../output/",fn))
n <- tools::file_path_as_absolute(paste0("../output/",fn))
file.show(n)
system2("gedit",prot(n))