在循环中附加:跳过不存在的文件

  • 本文关键字:不存在 文件 循环 gretl
  • 更新时间 :
  • 英文 :


这个问题与以下问题有关:通过loop(pot。enteric)

导入时间。

我想导入同一目录中放置的任意数量的文件,但不连续标记,例如: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

现在,当我在上述设置上使用它(缺少文件)时,我会出现错误,脚本停止:

无法打开...

有可能以某种方式继续/捕获错误并"继续"?

我认为" 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

相关内容

  • 没有找到相关文章

最新更新