Appia의 IT세상

파이썬(Python) 커맨드콘솔(CMD)결과 읽어오기 본문

Python/Python 응용

파이썬(Python) 커맨드콘솔(CMD)결과 읽어오기

Appia 2022. 11. 22. 06:32
반응형

파이썬(Python) 커맨드콘솔(CMD)결과 읽어오기

파이썬(Python) 커맨드콘솔(CMD)결과 읽어오기

요새 작업을 하다보니, 본의 아닌게, 커맨드 콘솔(Cmd)창의 결과값을 읽어와야 하는 경우가 많이 발생하였습니다. 그래서 이번 포스팅에서는 커맨드 콘솔에 넑은 결과값을 읽어오는 방법에 대해서 이야기를 해보고자 합니다. 

 

흔히 가장 많이 사용하는 방법은 os 모듈과  popen을 사용하는 방법입니다. 실제로도 저 또한 이전에는 이와 같은 방법을 사용했었습니다. 간단한 예시를 보겠습니다. 

import os
a  = os.popen('dir').readlines()

for item in a :

    print(item)

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. 중간중간에 공백이 많이 보이고, 이 또한 변수로 읽어와서 필요한 값을 읽어오기 위해서는 약간의 또 작업이 필요할 것으로 보입니다. 

 C 드라이브의 볼륨에는 이름이 없습니다.

 볼륨 일련 번호: 1658-1CA8



 C:\Workspace\BlogPost\World_Stock_Crawling 디렉터리



2022-11-20  오후 06:44    <DIR>          .

2022-11-05  오후 12:25    <DIR>          ..

2022-11-20  오후 06:44               217 Get_cmd_result.py

2021-12-23  오전 12:30                 0 __init__.py

               2개 파일                 217 바이트

               2개 디렉터리  817,334,390,784 바이트 남음


Process finished with exit code 0

그래서 os모듈의 popen 대신 subprocess 모듈을 사용하기로 해봤습니다. 가장 쉽게 확인하는 방법은 다음과 같습니다. 

import subprocess

returned_text = subprocess.check_output("dir", shell=True, universal_newlines=True)

print(returned_text)

위의 코드를 실행하면 다음과 같은 결과를 받을 수 있습니다. 

 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 1658-1CA8

 C:\Workspace\BlogPost\World_Stock_Crawling 디렉터리

2022-11-20  오후 07:04    <DIR>          .
2022-11-05  오후 12:25    <DIR>          ..
2022-11-20  오후 07:04               216 Get_cmd_result.py
2021-12-23  오전 12:30                 0 __init__.py
               2개 파일                 216 바이트
               2개 디렉터리  817,348,751,360 바이트 남음

약간 좀 더 단정하게 표현이 됩니다. 몇몇 사이트들을 통해서 검색해보니, os.popen에 대해서 이제는 사용하지 않은 것처럼 명시가 되어 있습니다. 물론, 위의 부분에서 의미 있는 값들을 사용하기 위해서는 데이터의 정리가 필요로 할 것으로 보입니다. 

파이썬[Python] shutil모듈을 이용한 파일 옮기기

 

이번 포스팅에서는 파이썬(Python) 커맨드콘솔(CMD)결과 읽어오기라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨 주시길 바랍니다. 감사합니다. 

반응형
Comments