파이썬에서는 하나의 파일에서 다른 파이썬 파일을 실행하는 여러 가지 방법이 있습니다. 상황과 목적에 따라 적합한 방법이 다르므로, 각 방식의 특징을 이해하고 활용하는 것이 좋습니다.
1. 모듈처럼 임포트하여 사용하기
가장 권장되는 방법은 실행하려는 파일을 모듈처럼 임포트(import)한 뒤, 그 안의 함수를 호출하는 것입니다.
예를 들어, 같은 디렉터리에 있는 fileB.py를 fileA.py에서 실행하고 싶다면, fileA 안에 다음과 같이 작성합니다.
import fileB
이제 fileA에서는 fileB 내부의 어떤 함수든 아래와 같이 호출할 수 있습니다.
fileB.my_func()
이 방식은 코드 재사용성이 높고 구조가 명확해지기 때문에 실무에서 가장 많이 사용됩니다.
2. execfile() 함수 사용하기 (Python 2 전용)
파이썬 2에서는 execfile() 함수를 사용해 파일을 직접 실행할 수 있었습니다.
execfile('file.py')위 코드는 인터프리터에서 file.py 파일을 그대로 실행합니다.
단, execfile()은 파이썬 3에서 제거된 함수입니다. 파이썬 3 환경이라면 대신 exec(open('file.py').read()) 형태로 대체할 수 있습니다.
3. os.system()으로 새 프로세스 실행하기
별도의 프로세스를 생성하여 스크립트를 실행하고 싶다면 os.system() 명령어를 사용할 수 있습니다.
예시
os.system('python my_file.py')이 방법은 마치 터미널(명령 프롬프트)에서 직접 실행하는 것과 같은 효과를 냅니다.
참고로, 최신 파이썬에서는 더 안전하고 유연한 subprocess.run(['python', 'my_file.py']) 사용이 공식적으로 권장됩니다. 반환 코드 확인이나 출력 스트림 제어 등 세밀한 처리가 가능하기 때문입니다.
마무리
정리하면, 단순히 함수나 기능을 가져와 쓰려면 임포트, 별도 프로세스로 독립 실행하려면 subprocess 또는 os.system을 사용하는 것이 좋습니다. 각 방법의 장단점을 고려해 프로젝트에 맞는 방식을 선택하세요.