AngelPlayer`s Diary

python 코드 내부에서 다른 python 파일을 실행시키거나 결과를 저장하고 싶은 경우가 있습니다.

 

 

# sub.py
print("AngelPlayer")

sub.py는 python 코드 내에서 실행시키고자 하는 파일입니다.

 

 

 

코드 내부에서 Python 실행

# main.py
import os
 
os.system("python sub.py") # AngelPlayer

os.system()은 시스템의 자체 프로그램, 또는 python 명령 실행 등 기타 명령어를 실행하는 함수입니다.

 

따라서 위와 같이 os.system() 내부에 python 실행 명령을 작성하면, 해당 소스코드(main.py)를 실행 했을 때 내부에 작성된 실행 명령(sub.py)이 수행되어 결과를 도출합니다.

 

 

 

코드 내부에서 Python 실행 결과 가져오기

# main2.py
import os

output = os.popen("python sub.py").read() 
print(output) # AngelPlayer

한편 실행 명령으로 출력되는 내용 자체를 변수에 저장하고 싶은 경우가 있을 수 있습니다.

 

그런 경우 시스템 명령의 실행 결과를 반환하는 os.popen()를 사용하면 됩니다.

 

위 코드에서는 sub.py의 호출한 결과가 output에 저장되는 과정을 보여줍니다.

 

 

 

# sub2.py
import time

print("AngelPlayer")

time.sleep(3) # delay 3sec

os의 기능들은 동기적으로 실행되기 때문에 위와 같이  delay가 발생하면 결과가 도출될 때까지 기다렸다가 다음 기능을 순차적으로 실행합니다.

 

 

 

 

Reference

https://wikidocs.net/33#os

 

 

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band