특정 함수만 실행 Python

임승환·2024년 12월 4일

Python

목록 보기
19/20

python 코드 내에서 특정 함수만 실행하고 싶다면, import 구문을 사용하여 해당 함수나 모듈을 불러와 실행할 수 있다.

  • build_output/src/categorytest.py 파일에 input_controller라는 함수를 다른 스크립트에서 호출하는 방법이다.
from build_output.src.categorytest import input_controller

input_controller()

만약 파이썬 파일이 독립적으로 실행되는 스크립트라면 ??

github action 테스트 자동화 코드를 작성할 때, 코드의 일부만 재활용해야 하는 경우가 생겨 찾다 알게 되었다.

def input_controller():
	print("print")
   
if __name__ == "__main__":
	input_controller()

남들 다 이렇게 하는데 그 이유는 몰랐던
이렇게 파일을 직접 실행할 경우, input_controller() 함수만 실행된다!

실행방법은 아래와 같다.

python3 build_output/src/categorytest.py

필요에 따라 argv를 사용해 함수 이름을 인자로 전달하고, 해당 함수만 실행할 수 있도록 구현할 수도 있다.

import sys

def input_controller():
    print("Input Controller 실행 중")

def another_function():
    print("Another function 실행 중")

if __name__ == "__main__":
    function_to_call = sys.argv[1] if len(sys.argv) > 1 else None
    if function_to_call == "input_controller":
        input_controller()
    elif function_to_call == "another_function":
        another_function()
    else:
        print("No function specified")

여기에서 특정 함수를 호출하려면 아래와 같이 한다.

python build_output/src/categorytest.py input_controller
profile
주니어 개발자

0개의 댓글