Python 다른 Python 스크립트 실행

Vaibhhav Khetarpal 2023년1월30일
  1. import문을 사용하여 다른 Python 스크립트에서 Python 스크립트 실행
  2. execfile()메서드를 사용하여 다른 Python 스크립트에서 Python 스크립트 실행
  3. subprocess모듈을 사용하여 다른 Python 스크립트에서 Python 스크립트 실행
Python 다른 Python 스크립트 실행

클라이언트가 직접 실행하기위한 Python 코드가 포함 된 기본 텍스트 파일은 일반적으로 스크립트라고하며 공식적으로 최상위 프로그램 파일이라고합니다.

스크립트는 파이썬에서 직접 실행됩니다. 스크립트와 코드를 실행하는 방법을 배우는 것은 파이썬 프로그래밍 세계에서 배우는 기본적인 기술입니다. Python 스크립트에는 일반적으로'.py'확장자가 있습니다. 스크립트가 Windows 시스템에서 실행되는 경우 확장자는.pyw일 수 있습니다.

이 자습서에서는 다른 Python 스크립트 내에서 Python 스크립트를 실행하는 다양한 방법에 대해 설명합니다.

import문을 사용하여 다른 Python 스크립트에서 Python 스크립트 실행

import문은 여러 모듈을 Python 코드로 가져 오는 데 사용됩니다. 모듈에서 특정 코드에 액세스하는 데 사용됩니다. 이 메서드는import문을 사용하여 Python 코드에서 스크립트를 가져 와서 모듈로 사용합니다. 모듈은 Python 정의 및 명령문을 포함하는 파일로 정의 할 수 있습니다.

다음 코드는import문을 사용하여 다른 Python 스크립트에서 Python 스크립트를 실행합니다.

  • Script1.py:
def func1():
    print("Function 1 is active")


if __name__ == "__main__":
    # Script2.py executed as script
    # do something
    func1()

출력:

Function 1 is active
  • Script2.py:
import Script1.py


def func2():
    print("Function 2 is active")


if __name__ == "__main__":
    # Script2.py executed as script
    # do something
    func2()
    Script1.func1()

출력:

Function 2 is active
Function 1 is active

execfile()메서드를 사용하여 다른 Python 스크립트에서 Python 스크립트 실행

execfile()함수는 인터프리터에서 원하는 파일을 실행합니다. 이 함수는 Python 2에서만 작동합니다. Python 3에서는execfile()함수가 제거되었지만exec()메서드를 사용하여 Python 3에서도 동일한 작업을 수행 할 수 있습니다.

다음 코드는execfile()함수를 사용하여 다른 Python 스크립트에서 Python 스크립트를 실행합니다.

  • Script2.py:
# Python 2 code
execfile("Script1.py")

출력:

Function 1 is active

Python 3에서 다음을 사용하여 동일한 작업을 수행 할 수 있습니다.

  • Script2.py:
exec(open("Script1.py").read())

출력:

Function 1 is active

subprocess모듈을 사용하여 다른 Python 스크립트에서 Python 스크립트 실행

subprocess모듈은 새 프로세스를 생성 할 수 있으며 출력을 반환 할 수도 있습니다. 이것은 새로운 모듈이며 이전에 다른 Python 스크립트에서 Python 스크립트를 실행하는 데 사용되었던os.system과 같은 여러 이전 모듈을 대체하기위한 것입니다.

다음 코드는subprocess모듈을 사용하여 다른 Python 스크립트에서 Python 스크립트를 실행합니다.

  • Script1.py:
def func1():
    print("Function 1 is active")


if __name__ == "__main__":
    # Script2.py executed as script
    # do something
    func1()
  • Script2.py:
import subprocess

subprocess.call("Script1.py", shell=True)

출력:

Function 1 is active

세 가지 방법 모두 잘 작동하지만이 방법은 다른 두 가지 방법보다 장점이 있습니다. 기존 Python 스크립트를 편집하고 포함 된 모든 코드를 서브 루틴에 넣는 것은이 메서드에서 필요하지 않습니다.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn