파일이름 비교하여 이미지파일 복사해오기

게시판 IDL Q&A 파일이름 비교하여 이미지파일 복사해오기

2 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #2360 Reply
      hjbae
      회원

      dir0=’/scr1/mrseo/galaxy_backup/scr2/mrseo/SDSS/dr7z05/group1/u/’
      dir1=’/scr1/hjbae/paper/edge-on/’
      dir2=’/scr1/hjbae/paper/edge-on/edge-on_u/’

      List1=’group11′
      For i=0,n-1 do begin
      READCOL, dir1+List1, skip=i, numline=1, Format=’A’, $
      filename, /silent

      file=File_info(dir0+filename)
      IF file.exists eq 0 then begin
      print, filename
      goto, skip
      ENDIF

      img=readfilts(dir0+filename, header)
      writefits, dir2+filename,img,header
      Endfor
      skip:
      ========================================================================
      dir0에 있는 여러 이미지 파일중에 dir1에 있는 group11목록과 파일이름이 일치하는 파일을 읽어 dir2에 있는 edge-on_u 디렉토리에 복사해오려고 합니다.
      group11에 있는 목록과 dir0경로에 있는 파일이름은
      fpC-002134-u5-0088.fit
      fpC-005360-u4-0100.fit
      fpC-005140-u4-0099.fit
      이러한 형식입니다.
      컴파일하면 syntax error가 나는데, 초보라 뭐가 잘못되었는지 감이 안옵니다.
      답변 부탁드립니다.
      감사합니다.

    • #2363 Reply
      Jonghyuk
      회원

      Syntax Error는 어디에서 발생하는지 표시가 될 겁니다. 문법에러라서 고치기는 쉬운 편입니다. 어디가 잘못되었다고 나오는지요?

      그런데 File 복제라면 FILE_COPY 명령을 쓰시는게 Readfits&Writefits보다 효율적일 거라고 생각합니다.

      readcol, dir1+list1, filenames, format=’A’
      file_copy, dir0+filenames, dir2

      조금 손볼 곳이 있겠지만 전반적으로는 이정도면 될 것 같습니다.

    • #2367 Reply
      Sangwoo
      회원

      반복문안에서 파일의 존재여부를 확인하고 존재하지 않을 경우 GOTO를 사용하여 반복루프 밖으로 나가도록 되어 있는 것이 보이는데요. 작성자의 원래 의도를 제가 알지는 못하지만, 만약에 파일이 존재하지 않을 경우 그 회차에서는 후속작업을 하지 않고 다음 회차로 넘어가는 의도였다면, CONTINUE를 사용하는 것을 권장합니다.

2 답변 글타래를 보이고 있습니다
'파일이름 비교하여 이미지파일 복사해오기'에 답변달기
글쓴이 정보: