주요 콘텐츠

MATLAB에서 직접 Python 기능 호출

MATLAB®에서 직접 Python® 라이브러리의 기능을 호출하거나 Python 명령문을 실행할 수 있습니다.

Python 모듈에 액세스하기

Python 라이브러리에 액세스하려면 py. 접두사를 Python 이름에 추가하십시오. 예를 들어, 다음과 같이 합니다.

py.list({'This','is a','list'})      % Call built-in function list
py.textwrap.wrap('This is a string') % Call wrap function in module textwrap

자세한 내용은 MATLAB에서 Python 모듈 액세스하기 - 시작하기 항목을 참조하십시오.

Python 코드 실행하기

MATLAB 명령 프롬프트에서 Python 인터프리터의 Python 명령문을 실행하려면 pyrun 함수를 사용하십시오. 이 함수를 사용하면 MATLAB 유형을 입력값으로 전달하고 MATLAB으로 다시 변수의 일부 또는 전부를 반환하는 코드를 실행할 수 있습니다. 예를 들어, Python 인터프리터에서 이 명령문을 실행한다고 가정하겠습니다.

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

MATLAB에서 명령문을 실행하려면 pyrun을 사용하십시오. MATLAB 변수 myList에 결과를 반환하려면 다음과 같이 "l"outputs 인수로 추가하십시오.

myList = pyrun("l = ['A', 'new', 'list']", "l");

Python 스크립트 실행하기

MATLAB 명령 프롬프트에서 Python 스크립트를 호출하려면 pyrunfile 함수를 사용하십시오. pyrun과 같은 방식으로 MATLAB 데이터를 전달하고 변수를 반환합니다. 예를 들어, 다음 명령문을 사용하여 mklist.py 파일을 만들어 보겠습니다.

# Python script file mklist.py: 
s = 'list'
L = ['A', 'new', s]

다음과 같이 MATLAB에서 스크립트를 실행합니다.

myListFile = pyrunfile("mklist.py", "L")
myListFile = 
  Python list with no properties.

    ['A', 'new', 'list']

Python 변수에 액세스하기

py. 접두사를 사용하면 MATLAB이 전체 모듈을 가져오며 Python 코드의 모든 함수와 클래스에 액세스할 수 있게 됩니다. 하지만, pyrun 또는 pyrunfile 함수를 사용하여 Python 코드를 실행하는 경우 Python 데이터에 액세스하려면 outvars 인수를 사용하여 명시적으로 MATLAB에 Python 객체를 반환해야 합니다.

pyrunpyrunfile 함수의 제한 사항

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

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

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

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

  • Python 유형 힌트에 기반한 유형 변환은 pyrun, pyrunfile 또는 네이티브 Python 코드가 입력값으로 제공되는 Python 코드 실행 작업에서 지원되지 않습니다.

참고 항목

|

도움말 항목

외부 웹사이트