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