관리 메뉴

솜씨좋은장씨

[Python] Ubuntu 또는 Mac에서 Python 코드를 활용하여 명령어를 실행하고 결과 받아보는 방법 본문

Programming/Python

[Python] Ubuntu 또는 Mac에서 Python 코드를 활용하여 명령어를 실행하고 결과 받아보는 방법

솜씨좋은장씨 2021. 7. 22. 09:43
728x90
반응형

최근 명령어를 python 코드 속에서 실행하고 그 결과 값을 코드로 받아와 활용을 해야하는 작업이 있었습니다.

Mac과 Ubuntu에서 이를 수행하는 방법에 대해 정리해 보려합니다.

 

명령어 실행과 값 받아오기는 python의 기본 모듈인 subprocess를 사용했습니다.

 

먼저 테스트에 활용할 python 스크립트를 하나 작성해주었습니다.

 

exec_python_script.py

def solution():
    return "test_script"

if __name__ == "__main__":
   print(solution())

 

그리고 이 파일을 실행하고 결과 값을 받아와 return하는 함수를 하나 만들어 주었습니다.

import subprocess

def exec_script(icmd):
    cmd = list(icmd)

    return subprocess.check_output(cmd)

입력은 명령어를 공백으로 나눈 값들을 리스트로 받아오도록 했고

파일을 실행하고 결과값을 가져오는 것은 subprocess의 check_output을 활용했습니다.

extract = exec_script(['python', '/Users/donghyunjang/PythonHome/exec_python_script_test.py'])
print(extract)

실행은 위와 같이 하면됩니다. 

아까 실행하기위해 만든 python 파일을 실행하고 결과를 확인하면

b'test_script\n'

위와 같은 결과가 나오는 것을 확인할 수 있습니다.

 

이를 통해 기존에 명령어를 통해서 사용했던 라이브러리의 결과를 코드속에서 받아올 수 있었습니다.

 

앞으로 윈도우에서도 동작하도록 그리고 좀 더 편하게 사용할 수 있도록 수정하게 되면 내용을 추가 수정할 예정입니다.

 

읽어주셔서 감사합니다.

Comments