파이썬 외부 프로그램 실행

파이썬 외부 프로그램 실행 방법은 아래와 같습니다.

subprocess 모듈의 call 함수를 이용합니다.

from subprocess import call

call(['ls','-alh'])

call의 인자는 리스트로 주고 실제 명렁어에서 빈칸으로 띄운 것은 모두 리스트의 한 요소로 넣으면 됩니다.

참 쉽죠?

py_call_example

인자가 많은? 명령어 처리

그런데 아래와 같은 인자가 많은 명령어는 어떻게 처리해야 할까요?

some_executable -H abd -P user -A 111.222.333 -Q none -mode analysis -K 123 -O kdjodk? 

아래와 같이 일일히 리스트를 만들어줘야 할까요?

call['some_executable', '-H', 'abd ', ....]

이런 귀찮은 일을 사람이 쪼개라고 있는 프로그래밍 언어가 아니죠. 이럴 때는 split 명령어를 통해 간단하게 해결할 수 있습니다.


from subprocess import call

cmd = '''some_executable -H abd -P user -A 111.222.333 -Q none -mode analysis -K 123 -O kdjodk'''
cmd_args = cmd.split()

call(cmd_args)

참고자료

  1. 파이썬 공식문서

Leave a Reply

Leave a Reply

Your email address will not be published. Required fields are marked *