Minitab Statistical Software와 함께 Python 스크립트 실행

Minitab에서 Python을 실행하는 다양한 방법에 대해 알아봅니다.
Minitab에서 Python 스크립트를 다음 세 가지 방법으로 실행할 수 있습니다.
  • 명령줄 창에서 PYSC 명령을 실행합니다.
  • PYSC 명령을 포함하는 Minitab exec 파일을 실행합니다.
  • PYSC 명령을 포함하는 Minitab exec 파일을 실행하도록 Minitab 인터페이스를 사용자 정의합니다.

PYSC 명령은 Minitab의 기능을 Python으로 확장하지만 Minitab을 대화형 Python 환경으로 만들 수는 없습니다. 따라서 상호작용 없이 완료되는 Python 스크립트에만 Minitab을 사용하십시오. 예를 들어 스크립트가 실행되는 동안 키보드의 입력을 허용하는 input() 함수는 Minitab에서 작동하지 않습니다. Python에서의 상호작용은 plot.show()keyboard.read_key()와 같은 다른 많은 형태를 취합니다.

Python 코드 예제를 포함하여 Minitab의 Python 모듈에 대해 자세히 알아보려면 Python API 참조로 이동하십시오.

이 가이드에서 참조하는 모든 파일은 .ZIP 파일인 python_guide_files.zip 파일로 제공됩니다.

참고

Python을 Minitab Statistical Software와 통합하려고 시도하기 전에 Python을 설치 및 실행하십시오. Python 설치에 대한 도움을 받으려면 회사의 기술 지원 부서에 문의하시기 바랍니다. Minitab 기술 지원 부서는 Python의 설치를 지원할 수 없습니다.

명령줄 창에서 Python 스크립트 실행

명령줄 창에서 PYSC 명령을 실행할 수 있습니다. 명령줄 창에 대한 일반적인 내용을 보려면 명령줄/기록 창으로 이동하십시오. 세션 명령 사용에 대한 일반적인 내용을 보려면 세션 명령 도움말로 이동하십시오.

PYSC["filename.py"]["Args"...]

지정한 Python 스크립트를 실행합니다.

Python 스크립트의 기본 파일 확장명은 .PY입니다. 파일 확장명이 .PY인 경우 파일 확장명을 입력할 필요가 없습니다.

선택적 인수 Args를 사용하면 sys.argv[1:]를 통해 Python 스크립트에 전달할 수 있습니다. Args는 공백으로 구분된 텍스트 값이 될 수 있습니다. 인용 부호로 인수를 묶습니다. 기본값은 None이며 스크립트에서 인수를 수신하지 않습니다.

일반적으로 인수를 사용하여 Minitab의 데이터를 Python으로 가져옵니다. 여러 가지 방법으로 인수를 입력할 수 있습니다. 예를 들어 열, 행렬 또는 상수에 대한 식별자인 인수를 사용할 수 있습니다.

Minitab 세션 명령 값 위치 Python 사용
PYSC "test.py" "C1"
"C1"
다음 함수를 사용하여 열을 검색합니다.
mtbpy.mtb_instance().get_column(sys.argv[1:][0])
PYSC "test.py" "M1"
"M1"
다음 함수를 사용하여 행렬을 검색합니다.
mtbpy.mtb_instance().get_matrix(sys.argv[1:][0])
PYSC "test.py" "K1"
"K1"
다음 함수를 사용하여 상수를 검색합니다.
mtbpy.mtb_instance().get_constant(sys.argv[1:][0])

Minitab에서 열, 행렬 또는 상수의 이름인 인수를 사용할 수도 있습니다.

Minitab 세션 명령 값 위치 Python 사용
PYSC "test.py" "My Column"
"My Column"
다음 함수를 사용하여 열을 검색합니다.
mtbpy.mtb_instance().get_column(sys.argv[1:][0])
PYSC "test.py" "My Matrix"
"My Matrix"
다음 함수를 사용하여 행렬을 검색합니다.
mtbpy.mtb_instance().get_matrix(sys.argv[1:][0])
PYSC "test.py" "My Constant"
"My Constant"
다음 함수를 사용하여 상수를 검색합니다.
mtbpy.mtb_instance().get_constant(sys.argv[1:][0])

Python 코드에서 사용할 텍스트를 전달하는 인수를 지정할 수도 있습니다. 텍스트를 직접 또는 상수로 전달할 수 있습니다.

Minitab 세션 명령 값 위치 Python 사용
PYSC "test.py" "Text not Stored"
"Text not Stored"
이 경우는 mtbpy 'get' 명령과 함께 사용할 수 없는 값을 전달했습니다. 그러나 Args는 전달하는 열, 행렬 및 상수에만 국한되지 않습니다.
LET K1 = "Text in Constant" PYSC "test.py" K1
"Text in Constant"
이 경우는 PYSC가 텍스트 값이 아닌 인수를 허용하지 않지만 상수가 텍스트 값으로 정의되는 한 PYSC에 상수를 전달할 수 있음을 강조합니다.

두 개 이상의 인수를 전달하면 인수 목록에서 순서대로 인수에 액세스할 수 있습니다.

Minitab 세션 명령 값 위치 Python 사용
PYSC "test.py" "C1" "C2" "M1" "K3" "10"
"C1" "C2" "M1" "K3" "10"
이 경우는 Args를 여러 번 전달하는 예로, 여기서 Python의 다음 함수를 사용하여 액세스합니다.
mtbpy.mtb_instance().get_column(sys.argv[1:][0]) mtbpy.mtb_instance().get_column(sys.argv[1:][1]) mtbpy.mtb_instance().get_matrix(sys.argv[1:][2]) mtbpy.mtb_instance().get_constant(sys.argv[1:][3]) int(sys.argv[1:][4])

다음 파일을 사용하여 다음 하위 명령에 대한 예제 텍스트의 출력을 확인합니다. test.py 파일이 Python 스크립트용 Minitab의 폴더에 있는지 확인합니다.
파일 설명
test.py 이 가이드 전체에서 사용되는 샘플 Python 스크립트입니다. 스크립트에 인수를 전달하면 결과에 인수 값 목록이 포함됩니다. "ArgToBePrintedTostderr" 인수로 스크립트를 실행하면 스크립트는 인수 이름을 stderr 파일에 씁니다. "ArgToBePrintedToStdOut" 인수로 스크립트를 실행하면 스크립트는 인수 이름을 stdout 파일에 씁니다. 다음에 나오는 하위 명령을 사용하여 이러한 파일의 내용이 Minitab의 출력 창에 표시되는지 여부를 제어합니다.
NOSERR
Minitab의 출력 창에 표준 오차(stderr) 콘솔 출력의 텍스트를 표시하지 않도록 지정합니다. stderr 콘솔 출력은 Python 통합 개발 환경에서 코드를 실행할 때 Python 오류 메시지가 표시되는 곳이지만, Python을 사용하여 stderr 파일에 기타 결과를 기록할 수 있습니다. 예를 들어, 기본값은 다음과 같습니다.
PYSC "test.py" "ArgToBePrintedToStdErr". 
stderr 콘솔 출력을 포함하는 다음 결과를 생성합니다.

Python Script

These results are from external software.
The following arguments were passed to Python: ['ArgToBePrintedToStdErr']

Python standard error

The following arguments were printed to Stderr: 'ArgToBePrintedToStdErr'
다음 세션 명령은 stderr 콘솔 출력을 제외합니다.
PYSC "test.py" "ArgToBePrintedToStdErr"; NOSERR.
세션 명령은 다음과 같은 결과를 생성합니다.

Python Script

These results are from external software.
The following arguments were passed to Python: ['ArgToBePrintedToStdErr']
SOUT
Minitab의 출력 창에 표준 콘솔 출력(stdout)의 텍스트를 표시하도록 지정합니다. stdout는 Python 통합 개발 환경에서 print()와 같은 명령의 결과를 볼 수 있는 곳입니다. 예를 들어, 기본값은 다음과 같습니다.
PYSC "test.py" "ArgToBePrintedToStdOut". 
stdout을 제외하는 다음 결과를 생성합니다.

Python Script

These results are from external software.
The following arguments were passed to Python: ['ArgToBePrintedToStdOut']
다음 세션 명령에는 stdout이 포함됩니다.
PYSC "test.py" "ArgToBePrintedToStdOut"; SOUT.
세션 명령은 다음과 같은 결과를 생성합니다.

Python Script

These results are from external software.
The following arguments were passed to Python: ['ArgToBePrintedToStdOut']

Python standard output

The following arguments were printed to Stdout: 'ArgToBePrintedToStdOut'

Minitab exec 파일에서 Python 스크립트 실행

다음 파일을 사용하여 이 섹션의 단계를 수행합니다.
파일 설명
test.py 이 가이드 전체에서 사용되는 샘플 Python 스크립트입니다. 스크립트에 인수를 전달하면 결과에 인수 값 목록이 포함됩니다.
PYEXEC.MTB 2개의 인수로 test.py 스크립트를 실행하는 세션 명령을 포함하는 샘플 Minitab exec 파일입니다.

Exec 파일은 Minitab 세션 명령이 포함된 텍스트 파일입니다. Python을 실행하는 PYSC 명령을 Minitab exec 파일에 포함할 수 있습니다. exec 파일을 사용하면 명령을 다시 입력하지 않고도 명령을 쉽게 실행할 수 있으며 Minitab의 사용자 정의 단추에 exec 파일을 할당할 수 있습니다. Minitab exec 파일에 대해 자세히 알려면 Minitab 매크로 도움말로 이동하십시오. exec 파일을 실행하려면 파일 > Exec 실행을 선택합니다.

PYEXEC.MTB 파일을 만든다고 가정합니다. exec 파일에는 다음과 같은 Minitab 명령이 포함되어 있습니다.
PYSC "test.py" "Arg1" "Arg2"
exec 파일에서 Python 스크립트를 실행하려면 다음 단계를 사용합니다.
  1. 파일 > Exec 실행을 선택합니다.
  2. 파일 선택을 클릭합니다.
  3. PYEXEC.MTB을 선택합니다.
  4. 열기을 클릭합니다.
스크립트는 Minitab에서 인수 값을 표시하고 exec 파일은 다음과 같은 결과를 생성합니다.

Python Script

These results are from external software.
The following arguments were passed to Python: ['Arg1', 'Arg2']

Minitab 인터페이스에서 Python 스크립트 실행

Minitab exec 파일이 있는 경우 exec 파일을 실행하는 사용자 정의 단추 또는 메뉴를 만들 수 있습니다. Minitab에서 인터페이스를 사용자 정의하는 방법에 대해 일반적인 내용을 보려면 메뉴, 도구 모음 및 바로 가기 키 사용자 정의로 이동하십시오.

다음 단계를 사용하여 exec 파일을 실행하는 사용자 정의 단추를 만들 수 있습니다.
  1. 보기 > 사용자 정의을 선택합니다.
  2. 도구 탭을 클릭합니다.
  3. 도구 탭에서 새로 만들기(삽입) 단추를 클릭합니다.
  4. 명령 이름을 입력한 다음 Enter 키를 누릅니다.
  5. 열기 단추를 클릭합니다.
  6. 파일 형식 드롭다운 목록에서 모든 파일(*.*)을 선택합니다.
  7. exec 파일을 찾아서 선택합니다.
  8. 열기을 클릭합니다.
  9. 보기 > 사용자 정의을 다시 선택합니다.
  10. 명령 탭의 범주에서 도구을 선택합니다.
  11. 사용자 정의 대화 상자가 열려 있는 동안 새 명령을 Minitab 메뉴 또는 도구 모음에 표시할 위치로 드래그합니다.
  12. 닫기을 클릭합니다.

Minitab의 인터페이스를 사용자 정의하는 것 외에도 COM 호환 언어를 사용하여 사용자 정의 대화 상자 및 분석을 만들 수 있습니다. COM을 통해 Minitab을 사용자 정의하는 방법에 대해 알아보려면 Minitab 자동화로 이동하십시오.

PYSC 명령 중지

Python 스크립트를 중지하고 Minitab을 열어 두면 마지막 저장 이후 Minitab 프로젝트에 대한 편집 내용이 손실되지 않습니다. Python 스크립트를 중지하는 방법은 운영 체제에 따라 다릅니다.
Windows

Ctrl + Alt + Delete를 눌러 Windows 작업 관리자를 엽니다. 그런 다음 Python 프로세스를 종료합니다.

macOS
Command + Option + Esc를 눌러 강제 종료 창을 엽니다. 그런 다음 Python 응용 프로그램을 종료합니다.