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 객체를 반환해야 합니다.
pyrun
과 pyrunfile
함수의 제한 사항
pyrun
또는pyrunfile
을 사용하여 정의된 Python 클래스의 인스턴스를 MATLAB으로 반환하면 정의된 클래스를 수정할 수 없습니다. 클래스 정의를 변경해야 하는 경우 다음과 같이 인터프리터 세션을 재시작하십시오.terminate(pyenv) pyenv(ExecutionMode="OutOfProcess")
또는
"InProcess"
모드로 MATLAB을 재시작하십시오.pyrun
함수와pyrunfile
함수는 메서드를 통해 다른 지역 변수에 의해 초기화되는 지역 변수를 사용하는 클래스를 지원하지 않습니다. 이렇게 사용하려면py.
접두사를 사용하여 모듈을 만들어 액세스하십시오.Python 유형 힌트에 기반한 유형 변환은
pyrun
,pyrunfile
또는 네이티브 Python 코드가 입력값으로 제공되는 Python 코드 실행 작업에서 지원되지 않습니다.