[Python] Trouble Shooting - 1

더키·2023년 7월 17일
0

Python

목록 보기
5/5
post-thumbnail

때는 7월 17일 15시경, 병원 수술 영상 데이터 전처리를 위해 짜둔 코드를 돌리려던 중 오류가 발생했다.

IndexError: list index out of range

인덱스 오류였다.
데이터프레임에 정리된 폴더명과 glob 라이브러리를 통해 input path에 있는 폴더를 찾아 매칭해주는 작업이 진행되어야 했지만, 돌아오는 건 빈 리스트([]) 뿐이었다.

분명 이전 전처리에서는 잘 돌아갔는데 이번엔 왜 이런건지 디버깅을 해보았다.

하나하나 문제를 짚어보니 데이터프레임에서 뽑아낸 폴더명이 담긴 리스트에서 텍스트 검색이 되지 않는 문제가 있었다.
이게 뭔가 싶어 데이터프레임 안에 있는 폴더명과 glob으로 언어낸 폴더 경로의 데이터 타입을 확인하니 분명 str이었고, glob의 input path의 폴더명들은 잘 검색되는것을 보면 분명 데이터프레임의 문제가 틀림없어 보였다.

부캠 동기들의 도움을 받아보고자 Help를 쳤지만, 바로 문제가 해결되지는 않았다.
무엇 때문일까, 고민하고 또 고민했다.
이 문제와 2시간 반을 싸우고 저녁을 먹으면서도 고민하던 중, '어쩌면 유니코드 문제가 아닐까?' 싶었고, 동기 한 명도 똑같은 언급을 해주었다.

되돌아보니 이전 전처리 과정에서는 환자의 정보를 가리기 위해서 폴더명에서 한글로 된 환자명을 지웠던 것이 떠올라 곧바로 실행에 옮겼다.
그 후 작업을 진행했더니 드!디!어! 문제없이 코드가 돌아가는 것을 확인했다.


아주아주 잘 알아서 영상을 잘라 이미지를 추출해주고 있는 코드님..

3시간을 싸운 끝에 문제를 해결할 수 있었다.
결국은 예상대로 폴더명에 있던 한글 유니코드 문제였고, 허탈하였지만 오늘도 하나 깨닫게 되었다...

리눅스에선 한글을 자제하자!

profile
메디컬 딥러닝 엔지니어

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

정말 유익한 글이었습니다.

답글 달기