2025년 6월 26일
(사용자 닉네임)
기존의 Python 데이터 처리 스크립트들은 처리할 데이터의 양을 조절하는 방식이 서로 달랐다. tmdb_collector.py는 명령줄 인수를 사용한 반면, anilist_collector.py, type_fixer.py, llm_enricher.py 등은 코드 내부에 하드코딩된 변수 값을 직접 수정해야 했다.
이러한 비일관성은 스크립트 사용의 불편함을 초래하고 오류를 유발할 수 있으므로, 모든 데이터 파이프라인 스크립트의 실행 방식을 명령줄 인수(Command-line Argument)로 통일하여 사용성과 유연성을 높이는 것을 목표로 한다.
Python의 argparse 라이브러리를 활용하여 아래 스크립트들의 실행 방식을 수정했다.
anilist_collector.py:
main() 함수 내부에 하드코딩되어 있던 TOTAL_PAGES_TO_FETCH 변수를 제거했다.--pages 인수를 추가하여, 실행 시 python anilist_collector.py --pages 3과 같이 수집할 페이지 수를 동적으로 지정할 수 있도록 변경했다.type_fixer.py:
main() 함수 내부에 하드코딩되어 있던 PROCESS_LIMIT 변수를 제거했다.--limit 인수를 추가하여, 한 번에 교정 작업을 시도할 최대 작품 개수를 외부에서 지정할 수 있도록 개선했다.llm_enricher.py:
type_fixer.py와 동일하게, 하드코딩된 PROCESS_LIMIT 변수를 제거하고 --limit 명령줄 인수를 사용하도록 수정했다.이번 수정을 통해 모든 스크립트의 대량 처리 실행 방식이 일관성 있게 변경되었다.
TOTAL_PAGES_TO_FETCH = 3 과 같은 라인을 직접 수정해야 했다.
# 예시 1: tmdb에서 영화 타입 페이지 3개 수집
python tmdb_collector.py --pages 3 --type movie
# 예시 2: tmdb에서 tv시리즈 타입 페이지 3개 수집
python tmdb_collector.py --pages 3 --type tv
# 예시 3: AniList에서 5페이지 분량의 애니메이션 수집
python anilist_collector.py --pages 5
# 예시 4: 타입 교정 스크립트를 100개 작품에 대해 실행
python type_fixer.py --limit 100
# 예시 5: 데이터 보강 스크립트를 50개 작품에 대해 실행
python llm_enricher.py --limit 50
든 데이터 파이프라인 관련 스크립트의 실행 인터페이스를 명령줄 인수를 사용하는 방식으로 통일했다. 이를 통해 코드 수정 없이도 유연하게 데이터 처리 규모를 조절할 수 있게 되어, 향후 테스트 데이터 생성 및 유지보수의 편의성과 안정성이 크게 향상되었다.
본문에 하드코딩된 페이지 변수를 제거하고
데이터를 수집할 때 실행 코드에서 수집할 페이지를 설정할 수 있게 명령줄 인수 기능을 추가하였다