python 코드 내부에서 다른 python 파일을 실행시키거나 결과를 저장하고 싶은 경우가 있습니다.
# sub.py
print("AngelPlayer")
sub.py는 python 코드 내에서 실행시키고자 하는 파일입니다.
# main.py
import os
os.system("python sub.py") # AngelPlayer
os.system()은 시스템의 자체 프로그램, 또는 python 명령 실행 등 기타 명령어를 실행하는 함수입니다.
따라서 위와 같이 os.system() 내부에 python 실행 명령을 작성하면, 해당 소스코드(main.py)를 실행 했을 때 내부에 작성된 실행 명령(sub.py)이 수행되어 결과를 도출합니다.
# 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
[Python] BeautifulSoup4를 통한 웹 크롤링(스크래핑)하기 (1) | 2023.07.30 |
---|---|
[Python] CSV 파일 기본 사용법 (데이터 읽기, 쓰기, 출력) (0) | 2022.10.26 |
[Pyinstaller 해결] Trojan:Win32/Wacatac.B!ml 오진 해결 방법 (2) | 2022.08.19 |
[Tkinter] AttributeError: 'NoneType' object has no attribute '*' 에러 해결 (0) | 2022.08.15 |
[Anaconda] 가상환경 생성 & 사용법 (0) | 2021.11.27 |