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