subprocess
subprocess 모듈 - import subprocess
subprocess - 파이썬에서 제공하는 라이브러리로 다른 프로세스를 생성하여 반환값을 가져옴 // os.system를 대체 (반환 x)
코드 예시
import subprocess
subprocess.run(['ls','-a',-l'], shell=True)
res = subprocess.check_output(['ls','-a',-l'], shell=True, encoding='cp949')
print(res)
print(res.decode('cp949'))
import subprocess
import locale
osEncoding = locale.getpreferredencoding()
subprocess.run(['ls','-a',-l'], shell=True)
res = subprocess.check_output(['ls','-a',-l'], shell=True, encoding=osEncoding)
print(res)
print(res.decode('cp949'))
import subprocess
import locale
osEncoding = locale.getpreferredencoding()
res = subprocess.run(['ls','-a','-l'], shell=True, capture_output=True)
print(res.stdout.decode(osEncoding))
기술
subprocess.run(["명령어","인자","인자2" ... ]) - 리스트 형식으로 명령어와 인자를 새로운 프로세스로 실행
subprocess.check_output( ) - 출력값 제어하기 위해 사용
locale.getpreferredencoding( ) - os마다의 기본 encoding 방식을 따라가기 위해 자동화
subprocess.run으로 capture_output 인자를 통해 출력값을 제어할 수 있음