我正在尝试使用textscan
读取一系列文件,但我一直收到此错误:
使用文本扫描时出错 文件标识符无效。使用fopen生成有效的文件标识符。
我的代码是:
fd = fopen(['D:\Thesis\Data\vedai_co_75_25\train\labels\' files(id).name],'rt');
line = textscan(fd, '%s %f %d %f %f %f %f %f %f %f %f %f %f %f %f');
当我尝试查看['D:\Thesis\Data\vedai_co_75_25\train\labels\' files(id).name]
的输出时,它会正确返回路径:
d:\论文\数据\ vedai_co_75_25 \列车\标签\ 00000000.png
命令fopen(D:\Thesis\Data\vedai_co_75_25\train\labels\00000000.png)
也会返回 3 或 4 等。
但是命令fopen(['D:\Thesis\Data\vedai_co_75_25\train\labels\' files(id).name])
会返回 -1 。
我该如何做到这一点?
答案 0 :(得分:2)
问题可能是您尝试在文本模式下打开.png文件
试试Explicit wait
,或在您的示例中:
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//a[contains(text(), 'Find')]"))));
driver.findElement(By.xpath("//a[contains(text(), 'Find')]")).click();
在Windows上,在文本模式下打开错误的文件可能会导致问题。 fd = fopen( file_name, 'r')
州的帮助:
(在Unix上,文本和 二进制模式是相同的,所以这没有效果。在PC系统上 这很关键。)