batch.py를 사용하여 Python 프로그램을 실행할 때 특이한 문제가 발생합니다. 기본 모듈을 가져올 때 오류가 발생합니다. 이 질문은 Python이 가져오기 시 코드를 실행하는 이유를 탐색하고 이 동작을 완화하기 위한 솔루션을 제공합니다.
기본 문제
Python은 class 및 def와 같은 키워드를 실행 가능한 명령문으로 해석합니다. . 모듈을 가져오면 이러한 명령문이 즉시 실행됩니다. Batch.py의 경우, Main을 가져오면 Main의 코드가 실행되어 앞서 언급한 오류가 발생합니다.
해결책: 필요할 때만 코드 실행
관용적 이 문제를 해결하는 방법은 코드 실행을 분리하는 것입니다. 다음 방법을 사용하면 모듈이 직접 실행되지 않는 한 실행을 방지하면서 함수와 클래스를 정의할 수 있습니다.
# Code to be executed regardless of import status # (e.g., class and function definitions) def main(): # Code to be executed only when the module is run as the main program if __name__ == "__main__": main()
실행 코드를 기본 함수 내에 배치하면 Python은 모듈이 직접 실행될 때만 이를 실행합니다. "python main.py"와 같은 스크립트 이름을 통해. 이렇게 하면 "python 배치.py"와 같이 모듈을 가져오는 동안 의도하지 않은 코드 실행을 방지할 수 있습니다.
위 내용은 Python이 가져오기 시 코드를 실행하는 이유는 무엇이며 이를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!