1

这个问题与:通过循环导入时间序列(pot.generic)

我想导入位于同一目录中的任意数量的文件,但不连续标记,例如:file_1,file_4,file_3001

我有一个小型导入脚本,适用于类似于以下内容的连续文件:

scalar first = 1 #the first file is file_1.tsv
scalar last = 5000 #the last file
base_path = "c:/results/file_"
sprintf temp_path "%s%d.tsv",base_path,first
open @temp_path --preserve
setobs 1 1 --special-time-series    
loop for (i=first+1;i<=last;i+=1) --quiet
    sprintf temp_path "%s%d",base_path,i
    append @temp_path 
endloop

现在,当我在上述设置(缺少文件)上使用它时,我收到一个错误并且脚本停止:

打不开...

是否有可能以某种方式继续/捕获错误并“继续”?

4

1 回答 1

2

我认为“catch”命令可以做你需要的。看看下面的代码:

# Creating files
open australia.gdt
store 0.gdt PAU
store 1.gdt PUS
store 2.gdt E
store 4.gdt IAU
store 8.gdt IUS
store 10.gdt le

# Opening created files
open 0.gdt
loop i = 1..10
    catch append $i.gdt
endloop
于 2016-12-22T19:27:02.390 回答