Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

pyrunfile

MATLAB에서 Python 스크립트 파일 실행

R2021b 이후

    설명

    예제

    pyrunfile(file)file의 Python® 명령문을 실행합니다.

    pyrun 함수와 달리, pyrunfile 함수를 사용하여 Python 작업 공간에 만든 변수는 영속 변수가 아닙니다. 이후에 pyrunfile을 호출할 경우 이러한 변수에 액세스할 수 없습니다.

    예제

    pyrunfile(file input)은 입력 인수와 함께 Python 명령문을 실행합니다. Python 스크립트는 명령줄 인수를 문자열로 읽습니다.

    예제

    outvars = pyrunfile(file,outputs)lhs 변수를 할당합니다. 또한 이 함수를 사용하여 사용자는 지정된 Python 코드에 대한 입력으로 전달할 MATLAB® 작업 공간 변수를 선택할 수 있으며, 스크립트에서 처리된 모든 Python 변수 또는 그중에서 사용자가 선택한 부분집합을 MATLAB에 다시 반환합니다.

    예제

    outvars = pyrunfile(file,outputs,pyName=pyValue)는 하나 이상의 이름-값 쌍의 인수를 사용하여 코드를 실행합니다.

    예제

    모두 축소

    hello.py 파일의 Python 명령문을 호출합니다.

    다음 명령문에서 Python 스크립트 hello.py를 만듭니다.

    greeting = "hello"
    print(greeting)

    MATLAB 명령줄에 출력값을 표시합니다.

    pyrunfile("hello.py")
    hello

    Python 스크립트를 만들고 문자열을 전달합니다.

    다음 명령문에서 greeting.py를 만듭니다.

    import sys
    greeting = sys.argv[1]
    print(greeting)

    스크립트에 문자열을 전달하고 출력값을 표시합니다.

    pyrunfile("greeting.py 'hello world'")
    hello world

    MATLAB에서 Python 스크립트를 실행하고 스크립트에 의해 생성된 변수를 MATLAB에 전달합니다.

    다음 명령문에서 Python 스크립트 makeList.py를 만듭니다.

    l = ['A', 'new', 'list']

    리스트를 만드는 스크립트를 실행하고 해당 리스트를 변수 data로 MATLAB에 반환합니다.

    data = pyrunfile("makeList.py", "l")
    data = 
      Python list with no properties.
    
        ['A', 'new', 'list']
    

    입력 인수를 받는 Python 스크립트를 호출합니다.

    다음 명령문에서 Python 스크립트 addac.py를 만듭니다. 이 스크립트는 입력 인수 xy를 받고 변수 z를 반환합니다.

    def add(a,c):
        b = a+c
        return b
    
    z = add(x,y)

    xy에 대한 값을 전달합니다. 변수 z를 MATLAB 변수 res로 반환합니다.

    res = pyrunfile("addac.py","z",x=3,y=2)
    res = 5

    입력 인수

    모두 축소

    Python 표현식 또는 명령문을 포함하는 Python 파일로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

    예: "test.py"

    명령줄 입력 인수와 함께 Python 표현식 또는 명령문을 포함하는 Python 파일로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

    예: "test.py var"

    하나 이상의 Python 변수 이름으로, string형 배열로 지정됩니다. 변수는 지역 변수일 수도 있고 전역 변수일 수도 있습니다. MATLAB은 code의 출력값을 outputs로 명명된 각 변수에 대입하며 값을 outvars에 반환합니다.

    예: "L"

    Python code에 전달할 하나 이상의 입력 인수 이름과 값으로, 키워드와 값 인수로 지정됩니다. pyName은 변수의 Python 이름이며, pyValue는 대입된 값입니다. pyName1=pyValue1,...,pyNameN=pyValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

    예: x=3

    출력 인수

    모두 축소

    하나 이상의 MATLAB 작업 공간 변수 이름으로, code로부터 유효한 유형으로 반환됩니다. outvars의 개수는 outvars 인수의 개수와 일치합니다. Python 데이터에 액세스하려면 outvars를 사용하여 Python 객체를 MATLAB에 명시적으로 반환해야 합니다.

    제한 사항

    • pyrun 또는 pyrunfile을 사용하여 정의된 Python 클래스의 인스턴스를 MATLAB으로 반환하면 정의된 클래스를 수정할 수 없습니다. 클래스 정의를 변경해야 하는 경우 다음과 같이 인터프리터 세션을 재시작하십시오.

      terminate(pyenv)
      pyenv(ExecutionMode="OutOfProcess")

      또는 "InProcess" 모드로 MATLAB을 재시작하십시오.

      pyrun 함수와 pyrunfile 함수는 메서드를 통해 다른 지역 변수에 의해 초기화되는 지역 변수를 사용하는 클래스를 지원하지 않습니다. 이렇게 사용하려면 py. 접두사를 사용하여 모듈을 만들어 액세스하십시오.

    버전 내역

    R2021b에 개발됨