Main Content

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. 접두사를 사용하여 모듈을 만들어 액세스하십시오.

참고 항목

|

관련 항목

외부 웹사이트