open file error시 skip하는 방법

게시판 IDL Q&A open file error시 skip하는 방법

이 게시글은 2개 답변과 2명 참여가 있으며 마지막으로  S.H.Ahn에 의해 1 월, 2 주 전에 업데이트 됐습니다.

  • 글쓴이
  • #5623 답변

    S.H.Ahn
    회원

    안녕하세요. 시간별로 생성되어있는 데이터 파일을 불러와서 처리하는 프로그램을 작성중에 있습니다.

    데이터 파일은 다음과 같은 형식이며, timegen으로 배열을 만들어 for문으로 open file의 이름을 입력하는 방식으로 작성하였습니다.

    WS-201710270000.dat
    WS-201710270100.dat
    WS-201710270200.dat
    WS-201710270300.dat
    .
    .
    .

    코드는 다음과 같습니다.

    ;*************************************************************************************************************
    MyDates = TIMEGEN(START=JULDAY(10,27,2017,00), FINAL=JULDAY(5,3,2018,23), step_size=1, UNITS=’Hour’)
    caldat, Mydates, Mo, D, Y, H;, M
    legnth = n_elements(Y)
    time = string(Y,format='(i4)’)+string(Mo,format='(i2)’)+string(D,format='(i2)’)+string(H,format='(i2.2)’)+’00’

    FOR k = 0, N_ELEMENTS(time) -1 DO BEGIN
    print, time[k]

    ifile=’\Wind\ANA08\WS-‘+time[k]+’.dat’

    My_File_Names = READ_CSV(ipath+ifile,HEADER=hdr, N_TABLE_HEADER=2, TABLE_HEADER=thdr)

    var1 = My_File_Names.field03
    var2 = My_File_Names.field04
    ;*************************************************************************************************************

    이런식으로 읽고있는데 문제는, 해당 시간의 데이터가 없을때 READ_CSV에서 오류가 난다는 점입니다.

    그래서 저는 이렇게 해당 데이터파일이 없어서 에러가 날 경우, 다음 시간의 데이터 파일로 넘어가는(skip) 코드를 작성하고 싶은데

    방법을 알고계신분들은 조언 부탁드립니다!

  • #5624 답변

    ChoiYoun
    회원

    읽기 전에 아래 구문을 추가해보시기 바랍니다.

    if not FILE_TEST(ifile) then continue

  • #5625 답변

    S.H.Ahn
    회원

    바로 해결 되었습니다. 감사합니다!! 🙂

'open file error시 skip하는 방법'에 답변달기
글쓴이 정보: