Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- programmers
- 우분투
- ChatGPT
- 편스토랑 우승상품
- 맥북
- 금융문자분석경진대회
- 파이썬
- 자연어처리
- Git
- Real or Not? NLP with Disaster Tweets
- hackerrank
- 프로그래머스
- 캐치카페
- 코로나19
- 백준
- Kaggle
- 더현대서울 맛집
- AI 경진대회
- SW Expert Academy
- 편스토랑
- dacon
- leetcode
- 데이콘
- Docker
- 프로그래머스 파이썬
- PYTHON
- gs25
- github
- ubuntu
- Baekjoon
Archives
- Today
- Total
솜씨좋은장씨
[Python] Ubuntu 또는 Mac에서 Python 코드를 활용하여 명령어를 실행하고 결과 받아보는 방법 본문
Programming/Python
[Python] Ubuntu 또는 Mac에서 Python 코드를 활용하여 명령어를 실행하고 결과 받아보는 방법
솜씨좋은장씨 2021. 7. 22. 09:43728x90
반응형
최근 명령어를 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'
위와 같은 결과가 나오는 것을 확인할 수 있습니다.
이를 통해 기존에 명령어를 통해서 사용했던 라이브러리의 결과를 코드속에서 받아올 수 있었습니다.
앞으로 윈도우에서도 동작하도록 그리고 좀 더 편하게 사용할 수 있도록 수정하게 되면 내용을 추가 수정할 예정입니다.
읽어주셔서 감사합니다.
'Programming > Python' 카테고리의 다른 글
[Python] UnicodeDecodeError : can't decode byte 코드 별 해결 방법! (0) | 2021.08.17 |
---|---|
[FastAPI] APIRouter TypeError: __init__() got an unexpected keyword argument 'tags' 해결방법 (Python) (0) | 2021.08.09 |
[Python] 내 코드의 성적표를 받아보자! 프로파일링 하는 방법! ( feat. line_profiler) (2) | 2021.07.08 |
[Python] sourcedefender를 활용하여 코드를 암호화 하는 방법 (1) | 2021.07.08 |
[Python] OpenCV를 활용하여 도형을 그리는 다양한 방법! (0) | 2021.07.08 |
Comments