我正在尝试运行以下代码,但是在尝试读取文本文件时出现错误
DATAopts.imgsetpath = 'C:\Users\z5085693\Downloads\matconvnet-calvin-master\matconvnet-calvin-master\data\Datasets\VOC2010\VOCdevkit\VOC2010\ImageSets\Main\%s.txt';
trainName = 'train';
trainIms = textread(sprintf(DATAopts.imgsetpath, trainName), '%s');
这会产生错误:
使用textread时出错(第165行)
找不到档案。
当我只执行sprintf
部分
sprintf(DATAopts.imgsetpath, trainName)
我只是得到'C:'
这是“找不到文件”错误的地方,因为很明显这不是完整路径。
发生了什么,我该如何解决?
答案 0 :(得分:1)
字符'\'
是转义字符,因此您在调用sprintf
之前想要转义每个反斜杠以在结果中获得实际的反斜杠
escaped_imgsetpath = strrep(DATAopts.imgsetpath, '\', '\\');
result = textread(sprintf(escaped_imgsetpath, trainName));