디렉터리 안에 있는 여러 개의 파이썬(.py) 파일을 하나씩 수동으로 실행하는 것은 비효율적입니다. 이럴 때 가장 빠르고 간단한 방법은 반복문(loop)을 활용하는 것입니다. 특히 리눅스나 macOS 같은 유닉스 계열 환경에서는 bash 셸 스크립트를 사용하면 단 한 줄로 모든 파이썬 파일을 자동으로 실행할 수 있습니다.
방법 1: Bash 반복문 사용하기
먼저 새로운 셸 스크립트 파일을 생성합니다. 예를 들어 run_all_py.sh라는 이름의 파일을 만들고 아래 내용을 작성합니다.
for f in *.py; do python "$f"; done
이 스크립트는 현재 디렉터리에 있는 확장자가 .py인 모든 파일을 하나씩 순회하면서 순차적으로 실행합니다. 와일드카드(*.py) 덕분에 파일 목록을 일일이 지정할 필요가 없습니다.
스크립트 실행하기
작성한 스크립트는 다음 명령어로 실행할 수 있습니다.
$ bash run_all_py.sh
실행하면 디렉터리 내 모든 파이썬 파일이 차례대로 실행되며, 각 파일의 출력 결과가 콘솔에 표시됩니다.
방법 2: xargs로 병렬 실행하기 (유닉스 계열 전용)
파일 개수가 많다면 xargs를 활용해 여러 파일을 동시에 병렬 실행하는 것이 더 효율적입니다. 이 방법은 CPU 자원을 최대한 활용하여 전체 실행 시간을 크게 단축할 수 있습니다.
$ ls *.py | xargs -n 1 -P 4 python
각 옵션의 의미는 다음과 같습니다.
-n 1: 한 번에 하나의 파일만 python 명령어에 전달합니다.-P 4: 동시에 최대 4개의 프로세스를 병렬로 실행합니다. 코어 수에 맞게 이 값을 조절하면 됩니다.
주의사항
병렬 실행 시 여러 스크립트가 동시에 출력하면 로그가 뒤섞일 수 있으며, 파일 입출력이나 데이터베이스 접근이 겹치면 충돌이 발생할 수 있습니다. 따라서 서로 의존 관계가 없는 독립적인 스크립트들을 병렬로 처리할 때 xargs 방식을 사용하는 것이 좋습니다.